diff --git a/.github/workflows/ilab-base-singularity.yaml b/.github/workflows/ilab-base-singularity.yaml new file mode 100644 index 0000000..ef0c5a7 --- /dev/null +++ b/.github/workflows/ilab-base-singularity.yaml @@ -0,0 +1,52 @@ +name: Singularity Build (docker) +on: + push: + + # Edit the branches here if you want to change deploy behavior + branches: + - github-registry-changes + + # Do the builds on all pull requests (to test them) + pull_request: [] + +jobs: + changes: + name: "Changed Singularity Recipes" + runs-on: ubuntu-latest + outputs: + changed_file: ${{ steps.files.outputs.added_modified }} + steps: + - id: files + uses: jitterbit/get-changed-files@b17fbb00bdc0c0f63fcf166580804b4d2cdc2a42 + with: + format: 'json' + + build-containers: + needs: + - changes + runs-on: ubuntu-latest + + container: + image: quay.io/singularity/singularity:v3.11.5 + options: --privileged + + name: Check ilab-base + steps: + + - name: Check out code for the container builds + uses: actions/checkout@v2 + + - name: Build Container + run: | + ls + sudo -E singularity build container.sif singularity/ilab-base/ilab-base.def + echo "Tag is $tag." + echo "tag=$tag" >> $GITHUB_ENV + + - name: Login and Deploy Container + if: (github.event_name != 'pull_request') + env: + keepgoing: ${{ env.keepgoing }} + run: | + echo ${{ secrets.GITHUB_TOKEN }} | singularity remote login -u ${{ secrets.GHCR_USERNAME }} --password-stdin oras://ghcr.io + singularity push container.sif oras://ghcr.io/${GITHUB_REPOSITORY}:${tag} diff --git a/.github/workflows/ilab-base.yaml b/.github/workflows/ilab-base.yaml index ef0c5a7..5cab6af 100644 --- a/.github/workflows/ilab-base.yaml +++ b/.github/workflows/ilab-base.yaml @@ -1,52 +1,81 @@ -name: Singularity Build (docker) -on: - push: +name: ilab-base-docker - # Edit the branches here if you want to change deploy behavior +on: + push: branches: - - github-registry-changes - - # Do the builds on all pull requests (to test them) - pull_request: [] + - 'main' jobs: - changes: - name: "Changed Singularity Recipes" + + ilab-base-production: runs-on: ubuntu-latest - outputs: - changed_file: ${{ steps.files.outputs.added_modified }} steps: - - id: files - uses: jitterbit/get-changed-files@b17fbb00bdc0c0f63fcf166580804b4d2cdc2a42 + - + name: Checkout + uses: actions/checkout@v3 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v2 with: - format: 'json' - - build-containers: - needs: - - changes - runs-on: ubuntu-latest - - container: - image: quay.io/singularity/singularity:v3.11.5 - options: --privileged + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Check ilab-base - steps: + - + name: Lower github-runner storage + run: | + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - name: Check out code for the container builds - uses: actions/checkout@v2 + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3 + push: true + tags: nasanccs/ilab-base:latest - - name: Build Container + ilab-base-dev: + runs-on: ubuntu-latest + on: [push, pull_request] + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - + name: Lower github-runner storage run: | - ls - sudo -E singularity build container.sif singularity/ilab-base/ilab-base.def - echo "Tag is $tag." - echo "tag=$tag" >> $GITHUB_ENV - - - name: Login and Deploy Container - if: (github.event_name != 'pull_request') - env: - keepgoing: ${{ env.keepgoing }} - run: | - echo ${{ secrets.GITHUB_TOKEN }} | singularity remote login -u ${{ secrets.GHCR_USERNAME }} --password-stdin oras://ghcr.io - singularity push container.sif oras://ghcr.io/${GITHUB_REPOSITORY}:${tag} + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./requirements/Dockerfile + push: true + tags: nasanccs/ilab-base:dev \ No newline at end of file diff --git a/docker/Dockerfile.Amazon_Fire_Dashboard b/docker/applications/Amazon_Fire_Dashboard/Dockerfile.Amazon_Fire_Dashboard similarity index 100% rename from docker/Dockerfile.Amazon_Fire_Dashboard rename to docker/applications/Amazon_Fire_Dashboard/Dockerfile.Amazon_Fire_Dashboard diff --git a/docker/Dockerfile.cisto-centos-gdal b/docker/applications/cisto-centos-gdal/Dockerfile.cisto-centos-gdal similarity index 100% rename from docker/Dockerfile.cisto-centos-gdal rename to docker/applications/cisto-centos-gdal/Dockerfile.cisto-centos-gdal diff --git a/docker/Dockerfile.redis b/docker/applications/redis/Dockerfile.redis similarity index 100% rename from docker/Dockerfile.redis rename to docker/applications/redis/Dockerfile.redis diff --git a/docker/Dockerfile.redis.full b/docker/applications/redis/Dockerfile.redis.full similarity index 100% rename from docker/Dockerfile.redis.full rename to docker/applications/redis/Dockerfile.redis.full diff --git a/docker/Dockerfile.ilab-base-gdal-3.3.3-v2 b/docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3 similarity index 81% rename from docker/Dockerfile.ilab-base-gdal-3.3.3-v2 rename to docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3 index b83d473..a41e78a 100755 --- a/docker/Dockerfile.ilab-base-gdal-3.3.3-v2 +++ b/docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3 @@ -2,7 +2,6 @@ FROM osgeo/gdal:ubuntu-full-3.3.3 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app -#COPY Dockerfile.ilab-base-gdal-3.3.3-v2 /usr/src/app/ ENV PROJECT_PATH="/usr/local/ilab" ENV REDIS_FILE="/etc/profile.d/redis_server.sh" @@ -13,9 +12,9 @@ RUN mkdir -p $PROJECT_PATH #------------------------------------------------------------------------------- RUN mkdir -p /att/nobackup /lscratch /att/gpfsfs/atrepo01 /att/pubrepo /css/nga/INDEX/current/nga_footprint.gdb # TODO: Deal with /gpfs weirdness below. Doesn't this break container portability? -#RUN for i in $(seq 1 30); do -#RUN ln -s /gpfs/gsfs${i} /gs${i}; -#RUN done +# RUN for i in $(seq 1 30); do +# RUN ln -s /gpfs/gsfs${i} /gs${i}; +# RUN done #------------------------------------------------------------------------------- # System Dependencies @@ -92,14 +91,14 @@ RUN python -m pip install pygeotools RUN python -m pip cache purge - # Add redis-server binary to /usr/local/bin +# Add redis-server binary to /usr/local/bin # export pyVer=`python --version | awk -F' ' '{print $2}' | awk -F'.' '{print $1"."$2}'` RUN ln -sf /usr/local/lib/python3.8/dist-packages/redis_server/bin/redis-server /usr/local/bin/redis-server - # 3/11/22 modified by Caleb for verson 2.0.0 for testing of 2 lines below - # 5/4/22 Testing passed. nepac and.. app containers also passed so making this ilab-base-3.3.3-v2 the new production version 2. - # Setup redis-server daemon. Sets REDIS_PORT env variable for celery-based applications to reference the correct redis port at run-time. - # echo "export REDIS_PORT=\"\$(python -c 'import socket; s = socket.socket(); s.bind((\"\", 0)); print(s.getsockname()[1]); s.close();')\"" > $REDIS_FILE +# 3/11/22 modified by Caleb for verson 2.0.0 for testing of 2 lines below +# 5/4/22 Testing passed. nepac and.. app containers also passed so making this ilab-base-3.3.3-v2 the new production version 2. +# Setup redis-server daemon. Sets REDIS_PORT env variable for celery-based applications to reference the correct redis port at run-time. +# echo "export REDIS_PORT=\"\$(python -c 'import socket; s = socket.socket(); s.bind((\"\", 0)); print(s.getsockname()[1]); s.close();')\"" > $REDIS_FILE RUN echo "redis-server --daemonize yes --port \$REDIS_PORT" >> $REDIS_FILE; RUN echo "export SINGULARITYENV_REDIS_PORTS=\$REDIS_PORT" >> $REDIS_FILE; RUN chmod +x $REDIS_FILE; @@ -114,12 +113,4 @@ RUN chmod +x $REDIS_FILE; ### #/bin/bash -c "export REDIS_PORT=6379" ### exec /bin/bash -c "source /etc/profile.d/redis_server.sh" ### -### %test - -RUN cat /etc/os-release | grep 20 -RUN gdalinfo --formats | grep -i jpeg -RUN gdalinfo --formats | grep -i hdf -RUN ogrinfo --formats | grep GDB -RUN python -V | grep 3 -RUN python -c 'from osgeo import gdal; print(gdal.__version__)' - +### %test \ No newline at end of file diff --git a/docker/Dockerfile.ilab-base-gdal-3.3.3-v2-maap b/docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3-v2-maap similarity index 100% rename from docker/Dockerfile.ilab-base-gdal-3.3.3-v2-maap rename to docker/ilab-base/Dockerfile.ilab-base-gdal-3.3.3-v2-maap diff --git a/docker/Dockerfile.maap-ilab-base-eis-0.1.0 b/docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.1.0 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-eis-0.1.0 rename to docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.1.0 diff --git a/docker/Dockerfile.maap-ilab-base-eis-0.2.0 b/docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.2.0 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-eis-0.2.0 rename to docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.2.0 diff --git a/docker/Dockerfile.maap-ilab-base-eis-0.3.0 b/docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.3.0 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-eis-0.3.0 rename to docker/systems/maap-ilab-base-eis/Dockerfile.maap-ilab-base-eis-0.3.0 diff --git a/docker/Dockerfile.maap-ilab-base-srlite-0.9.0 b/docker/systems/maap-ilab-base-srlite/Dockerfile.maap-ilab-base-srlite-0.9.0 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-srlite-0.9.0 rename to docker/systems/maap-ilab-base-srlite/Dockerfile.maap-ilab-base-srlite-0.9.0 diff --git a/docker/Dockerfile.maap-ilab-base-srlite-0.9.1 b/docker/systems/maap-ilab-base-srlite/Dockerfile.maap-ilab-base-srlite-0.9.1 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-srlite-0.9.1 rename to docker/systems/maap-ilab-base-srlite/Dockerfile.maap-ilab-base-srlite-0.9.1 diff --git a/docker/Dockerfile.maap-ilab-base-proj-0.1.0 b/docker/systems/maap-ilab-base/Dockerfile.maap-ilab-base-proj-0.1.0 similarity index 100% rename from docker/Dockerfile.maap-ilab-base-proj-0.1.0 rename to docker/systems/maap-ilab-base/Dockerfile.maap-ilab-base-proj-0.1.0 diff --git a/singularity/legacy/cisto-centos-gdal-1.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-1.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-1.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-2.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-2.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-2.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-2.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-3.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-3.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-3.1.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.1.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-3.1.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.1.0.def diff --git a/singularity/legacy/cisto-centos-gdal-3.2.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.2.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-3.2.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-3.2.0.def diff --git a/singularity/legacy/cisto-centos-gdal-4.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-4.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-4.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-4.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-5.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-5.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-5.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-5.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-5.1.1.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-5.1.1.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-5.1.1.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-5.1.1.def diff --git a/singularity/legacy/cisto-centos-gdal-6.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-6.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.0.0.def diff --git a/singularity/legacy/cisto-centos-gdal-6.1.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.1.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-6.1.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.1.0.def diff --git a/singularity/legacy/cisto-centos-gdal-6.2.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.2.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-6.2.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-6.2.0.def diff --git a/singularity/legacy/cisto-centos-gdal-7.0.0.def b/singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-7.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-gdal-7.0.0.def rename to singularity/legacy/cisto-centos-gdal/cisto-centos-gdal-7.0.0.def diff --git a/singularity/legacy/cisto-centos-singularity-1.0.0.def b/singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-singularity-1.0.0.def rename to singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-1.0.0.def diff --git a/singularity/legacy/cisto-centos-singularity-gdal-1.0.0.def b/singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-singularity-gdal-1.0.0.def rename to singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-1.0.0.def diff --git a/singularity/legacy/cisto-centos-singularity-gdal-2.0.0.def b/singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-2.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-singularity-gdal-2.0.0.def rename to singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-2.0.0.def diff --git a/singularity/legacy/cisto-centos-singularity-gdal-3.0.0.def b/singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-3.0.0.def similarity index 100% rename from singularity/legacy/cisto-centos-singularity-gdal-3.0.0.def rename to singularity/legacy/cisto-centos-singularity/cisto-centos-singularity-gdal-3.0.0.def diff --git a/singularity/legacy/cisto-conda-1.0.0.def b/singularity/legacy/cisto-conda/cisto-conda-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-conda-1.0.0.def rename to singularity/legacy/cisto-conda/cisto-conda-1.0.0.def diff --git a/singularity/legacy/cisto-conda-gdal-1.0.0.def b/singularity/legacy/cisto-conda/cisto-conda-gdal-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-conda-gdal-1.0.0.def rename to singularity/legacy/cisto-conda/cisto-conda-gdal-1.0.0.def diff --git a/singularity/legacy/cisto-data-science-1.0.0.def b/singularity/legacy/cisto-data-science/cisto-data-science-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-data-science-1.0.0.def rename to singularity/legacy/cisto-data-science/cisto-data-science-1.0.0.def diff --git a/singularity/legacy/cisto-data-science-2.0.0.def b/singularity/legacy/cisto-data-science/cisto-data-science-2.0.0.def similarity index 100% rename from singularity/legacy/cisto-data-science-2.0.0.def rename to singularity/legacy/cisto-data-science/cisto-data-science-2.0.0.def diff --git a/singularity/legacy/cisto-data-science-3.0.0.def b/singularity/legacy/cisto-data-science/cisto-data-science-3.0.0.def similarity index 100% rename from singularity/legacy/cisto-data-science-3.0.0.def rename to singularity/legacy/cisto-data-science/cisto-data-science-3.0.0.def diff --git a/singularity/legacy/cisto-data-science-centos-1.0.0.def b/singularity/legacy/cisto-data-science/cisto-data-science-centos-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-data-science-centos-1.0.0.def rename to singularity/legacy/cisto-data-science/cisto-data-science-centos-1.0.0.def diff --git a/singularity/legacy/cisto-data-science-ubuntu-1.0.0.def b/singularity/legacy/cisto-data-science/cisto-data-science-ubuntu-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-data-science-ubuntu-1.0.0.def rename to singularity/legacy/cisto-data-science/cisto-data-science-ubuntu-1.0.0.def diff --git a/singularity/legacy/cisto-gdal-ubuntu-1.0.0.def b/singularity/legacy/cisto-gdal/cisto-gdal-ubuntu-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-gdal-ubuntu-1.0.0.def rename to singularity/legacy/cisto-gdal/cisto-gdal-ubuntu-1.0.0.def diff --git a/singularity/legacy/cisto-jupyter-lab-1.0.0.def b/singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-jupyter-lab-1.0.0.def rename to singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-1.0.0.def diff --git a/singularity/legacy/cisto-jupyter-lab-2.0.0.def b/singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-2.0.0.def similarity index 100% rename from singularity/legacy/cisto-jupyter-lab-2.0.0.def rename to singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-2.0.0.def diff --git a/singularity/legacy/cisto-jupyter-lab-2.1.0.def b/singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-2.1.0.def similarity index 100% rename from singularity/legacy/cisto-jupyter-lab-2.1.0.def rename to singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-2.1.0.def diff --git a/singularity/legacy/cisto-jupyter-lab-3.0.0.def b/singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-3.0.0.def similarity index 100% rename from singularity/legacy/cisto-jupyter-lab-3.0.0.def rename to singularity/legacy/cisto-jupyter-lab/cisto-jupyter-lab-3.0.0.def diff --git a/singularity/legacy/cisto-qgis-docker-1.0.0.def b/singularity/legacy/cisto-qgis-docker/cisto-qgis-docker-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-qgis-docker-1.0.0.def rename to singularity/legacy/cisto-qgis-docker/cisto-qgis-docker-1.0.0.def diff --git a/singularity/legacy/cisto-singularity-1.0.0.def b/singularity/legacy/cisto-singularity/cisto-singularity-1.0.0.def similarity index 100% rename from singularity/legacy/cisto-singularity-1.0.0.def rename to singularity/legacy/cisto-singularity/cisto-singularity-1.0.0.def diff --git a/singularity/legacy/ilab-apps-1.0.0.def b/singularity/legacy/ilab-apps/ilab-apps-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-apps-1.0.0.def rename to singularity/legacy/ilab-apps/ilab-apps-1.0.0.def diff --git a/singularity/legacy/ilab-aviris-1.0.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-1.0.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-1.0.0.def diff --git a/singularity/legacy/ilab-aviris-2.0.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-2.0.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-2.0.0.def diff --git a/singularity/legacy/ilab-aviris-2.1.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-2.1.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-2.1.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-2.1.0.def diff --git a/singularity/legacy/ilab-aviris-2.2.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-2.2.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-2.2.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-2.2.0.def diff --git a/singularity/legacy/ilab-aviris-2.3.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-2.3.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-2.3.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-2.3.0.def diff --git a/singularity/legacy/ilab-aviris-3.0.0.def b/singularity/legacy/ilab-aviris/ilab-aviris-3.0.0.def similarity index 100% rename from singularity/legacy/ilab-aviris-3.0.0.def rename to singularity/legacy/ilab-aviris/ilab-aviris-3.0.0.def diff --git a/singularity/legacy/ilab-base-gdal-3.3.3-v2.def b/singularity/legacy/ilab-base/ilab-base-gdal-3.3.3-v2.def similarity index 100% rename from singularity/legacy/ilab-base-gdal-3.3.3-v2.def rename to singularity/legacy/ilab-base/ilab-base-gdal-3.3.3-v2.def diff --git a/singularity/legacy/ilab-base-gdal-amazon-dashboard-0.1.0.def b/singularity/legacy/ilab-base/ilab-base-gdal-amazon-dashboard-0.1.0.def similarity index 100% rename from singularity/legacy/ilab-base-gdal-amazon-dashboard-0.1.0.def rename to singularity/legacy/ilab-base/ilab-base-gdal-amazon-dashboard-0.1.0.def diff --git a/singularity/legacy/ilab-base-gdal-amazon-dashboard-0.2.0.def b/singularity/legacy/ilab-base/ilab-base-gdal-amazon-dashboard-0.2.0.def similarity index 100% rename from singularity/legacy/ilab-base-gdal-amazon-dashboard-0.2.0.def rename to singularity/legacy/ilab-base/ilab-base-gdal-amazon-dashboard-0.2.0.def diff --git a/singularity/legacy/ilab-cb-1.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-1.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-1.0.0.def diff --git a/singularity/legacy/ilab-cb-2.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-2.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-2.0.0.def diff --git a/singularity/legacy/ilab-cb-3.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-3.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-3.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-3.0.0.def diff --git a/singularity/legacy/ilab-cb-3.0.1.def b/singularity/legacy/ilab-cb/ilab-cb-3.0.1.def similarity index 100% rename from singularity/legacy/ilab-cb-3.0.1.def rename to singularity/legacy/ilab-cb/ilab-cb-3.0.1.def diff --git a/singularity/legacy/ilab-cb-4.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-4.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-4.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-4.0.0.def diff --git a/singularity/legacy/ilab-cb-4.0.1.def b/singularity/legacy/ilab-cb/ilab-cb-4.0.1.def similarity index 100% rename from singularity/legacy/ilab-cb-4.0.1.def rename to singularity/legacy/ilab-cb/ilab-cb-4.0.1.def diff --git a/singularity/legacy/ilab-cb-4.0.2.def b/singularity/legacy/ilab-cb/ilab-cb-4.0.2.def similarity index 100% rename from singularity/legacy/ilab-cb-4.0.2.def rename to singularity/legacy/ilab-cb/ilab-cb-4.0.2.def diff --git a/singularity/legacy/ilab-cb-4.0.3.def b/singularity/legacy/ilab-cb/ilab-cb-4.0.3.def similarity index 100% rename from singularity/legacy/ilab-cb-4.0.3.def rename to singularity/legacy/ilab-cb/ilab-cb-4.0.3.def diff --git a/singularity/legacy/ilab-cb-5.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-5.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-5.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-5.0.0.def diff --git a/singularity/legacy/ilab-cb-6.0.0.def b/singularity/legacy/ilab-cb/ilab-cb-6.0.0.def similarity index 100% rename from singularity/legacy/ilab-cb-6.0.0.def rename to singularity/legacy/ilab-cb/ilab-cb-6.0.0.def diff --git a/singularity/legacy/ilab-cb-6.0.1-sandbox.def b/singularity/legacy/ilab-cb/ilab-cb-6.0.1-sandbox.def similarity index 100% rename from singularity/legacy/ilab-cb-6.0.1-sandbox.def rename to singularity/legacy/ilab-cb/ilab-cb-6.0.1-sandbox.def diff --git a/singularity/legacy/ilab-cfm-1.0.0.def b/singularity/legacy/ilab-cfm/ilab-cfm-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-cfm-1.0.0.def rename to singularity/legacy/ilab-cfm/ilab-cfm-1.0.0.def diff --git a/singularity/legacy/ilab-core-1.0.0.def b/singularity/legacy/ilab-core/ilab-core-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-1.0.0.def rename to singularity/legacy/ilab-core/ilab-core-1.0.0.def diff --git a/singularity/legacy/ilab-core-2.0.0.def b/singularity/legacy/ilab-core/ilab-core-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-2.0.0.def rename to singularity/legacy/ilab-core/ilab-core-2.0.0.def diff --git a/singularity/legacy/ilab-core-3.0.0.def b/singularity/legacy/ilab-core/ilab-core-3.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-3.0.0.def rename to singularity/legacy/ilab-core/ilab-core-3.0.0.def diff --git a/singularity/legacy/ilab-core-4.0.0.def b/singularity/legacy/ilab-core/ilab-core-4.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-4.0.0.def rename to singularity/legacy/ilab-core/ilab-core-4.0.0.def diff --git a/singularity/legacy/ilab-core-4.1.0.def b/singularity/legacy/ilab-core/ilab-core-4.1.0.def similarity index 100% rename from singularity/legacy/ilab-core-4.1.0.def rename to singularity/legacy/ilab-core/ilab-core-4.1.0.def diff --git a/singularity/legacy/ilab-core-5.0.0.def b/singularity/legacy/ilab-core/ilab-core-5.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-5.0.0.def rename to singularity/legacy/ilab-core/ilab-core-5.0.0.def diff --git a/singularity/legacy/ilab-core-5.0.1.def b/singularity/legacy/ilab-core/ilab-core-5.0.1.def similarity index 100% rename from singularity/legacy/ilab-core-5.0.1.def rename to singularity/legacy/ilab-core/ilab-core-5.0.1.def diff --git a/singularity/legacy/ilab-core-6.0.0.def b/singularity/legacy/ilab-core/ilab-core-6.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-6.0.0.def rename to singularity/legacy/ilab-core/ilab-core-6.0.0.def diff --git a/singularity/legacy/ilab-core-7.0.0.def b/singularity/legacy/ilab-core/ilab-core-7.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-7.0.0.def rename to singularity/legacy/ilab-core/ilab-core-7.0.0.def diff --git a/singularity/legacy/ilab-core-centos-1.0.0.def b/singularity/legacy/ilab-core/ilab-core-centos-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-centos-1.0.0.def rename to singularity/legacy/ilab-core/ilab-core-centos-1.0.0.def diff --git a/singularity/legacy/ilab-core-centos-2.0.0.def b/singularity/legacy/ilab-core/ilab-core-centos-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-centos-2.0.0.def rename to singularity/legacy/ilab-core/ilab-core-centos-2.0.0.def diff --git a/singularity/legacy/ilab-core-ubuntu-1.0.0.def b/singularity/legacy/ilab-core/ilab-core-ubuntu-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-core-ubuntu-1.0.0.def rename to singularity/legacy/ilab-core/ilab-core-ubuntu-1.0.0.def diff --git a/singularity/legacy/ilab-floodmap-1.0.0.def b/singularity/legacy/ilab-floodmap/ilab-floodmap-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-floodmap-1.0.0.def rename to singularity/legacy/ilab-floodmap/ilab-floodmap-1.0.0.def diff --git a/singularity/legacy/ilab-gee-1.0.0.def b/singularity/legacy/ilab-gee/ilab-gee-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-gee-1.0.0.def rename to singularity/legacy/ilab-gee/ilab-gee-1.0.0.def diff --git a/singularity/legacy/ilab-hyper-1.0.0.def b/singularity/legacy/ilab-hyper/ilab-hyper-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-hyper-1.0.0.def rename to singularity/legacy/ilab-hyper/ilab-hyper-1.0.0.def diff --git a/singularity/legacy/ilab-landslide-1.0.0.def b/singularity/legacy/ilab-landslide/ilab-landslide-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-landslide-1.0.0.def rename to singularity/legacy/ilab-landslide/ilab-landslide-1.0.0.def diff --git a/singularity/legacy/ilab-mmx-1.0.0.def b/singularity/legacy/ilab-mmx/ilab-mmx-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-mmx-1.0.0.def rename to singularity/legacy/ilab-mmx/ilab-mmx-1.0.0.def diff --git a/singularity/legacy/ilab-nepac-1.0.0.def b/singularity/legacy/ilab-nepac/ilab-nepac-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-nepac-1.0.0.def rename to singularity/legacy/ilab-nepac/ilab-nepac-1.0.0.def diff --git a/singularity/legacy/ilab-nepac-2.0.0.def b/singularity/legacy/ilab-nepac/ilab-nepac-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-nepac-2.0.0.def rename to singularity/legacy/ilab-nepac/ilab-nepac-2.0.0.def diff --git a/singularity/legacy/ilab-otb-gpu-1.0.0.def b/singularity/legacy/ilab-otb/ilab-otb-gpu-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-otb-gpu-1.0.0.def rename to singularity/legacy/ilab-otb/ilab-otb-gpu-1.0.0.def diff --git a/singularity/legacy/ilab-otb-gpu-2.0.0.def b/singularity/legacy/ilab-otb/ilab-otb-gpu-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-otb-gpu-2.0.0.def rename to singularity/legacy/ilab-otb/ilab-otb-gpu-2.0.0.def diff --git a/singularity/legacy/ilab-r-1.0.0.def b/singularity/legacy/ilab-r/ilab-r-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-r-1.0.0.def rename to singularity/legacy/ilab-r/ilab-r-1.0.0.def diff --git a/singularity/legacy/ilab-r-2.0.0.def b/singularity/legacy/ilab-r/ilab-r-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-r-2.0.0.def rename to singularity/legacy/ilab-r/ilab-r-2.0.0.def diff --git a/singularity/legacy/ilab-r-2.0.1.def b/singularity/legacy/ilab-r/ilab-r-2.0.1.def similarity index 100% rename from singularity/legacy/ilab-r-2.0.1.def rename to singularity/legacy/ilab-r/ilab-r-2.0.1.def diff --git a/singularity/legacy/ilab-r-3.0.0.def b/singularity/legacy/ilab-r/ilab-r-3.0.0.def similarity index 100% rename from singularity/legacy/ilab-r-3.0.0.def rename to singularity/legacy/ilab-r/ilab-r-3.0.0.def diff --git a/singularity/legacy/ilab-salad-1.0.0.def b/singularity/legacy/ilab-salad/ilab-salad-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-salad-1.0.0.def rename to singularity/legacy/ilab-salad/ilab-salad-1.0.0.def diff --git a/singularity/legacy/ilab-salad-1.1.0.def b/singularity/legacy/ilab-salad/ilab-salad-1.1.0.def similarity index 100% rename from singularity/legacy/ilab-salad-1.1.0.def rename to singularity/legacy/ilab-salad/ilab-salad-1.1.0.def diff --git a/singularity/legacy/ilab-salad-1.2.0.def b/singularity/legacy/ilab-salad/ilab-salad-1.2.0.def similarity index 100% rename from singularity/legacy/ilab-salad-1.2.0.def rename to singularity/legacy/ilab-salad/ilab-salad-1.2.0.def diff --git a/singularity/legacy/ilab-stereo-pipeline-1.0.0.def b/singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-stereo-pipeline-1.0.0.def rename to singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-1.0.0.def diff --git a/singularity/legacy/ilab-stereo-pipeline-2.0.0.def b/singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-2.0.0.def similarity index 100% rename from singularity/legacy/ilab-stereo-pipeline-2.0.0.def rename to singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-2.0.0.def diff --git a/singularity/legacy/ilab-stereo-pipeline-3.0.0.def b/singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-3.0.0.def similarity index 100% rename from singularity/legacy/ilab-stereo-pipeline-3.0.0.def rename to singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-3.0.0.def diff --git a/singularity/legacy/ilab-stereo-pipeline-ubuntu-1.0.0.def b/singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-ubuntu-1.0.0.def similarity index 100% rename from singularity/legacy/ilab-stereo-pipeline-ubuntu-1.0.0.def rename to singularity/legacy/ilab-stereo-pipeline/ilab-stereo-pipeline-ubuntu-1.0.0.def