Loading .github/workflows/k8s.yml 0 → 100644 +69 −0 Original line number Diff line number Diff line name: K8S Build & Test on: pull_request: permissions: {} jobs: helm: name: Publish Helm chart runs-on: ubuntu-latest permissions: packages: write outputs: generated-semver: ${{ steps.semantic-version.outputs.generated-semver }} steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install jq run: | sudo apt-get install --yes jq - name: Install yq run: | pip install yq - name: Generate SemVer id: semantic-version run: | CHART_VERSION=$(yq -r '.version' helm/Chart.yaml) LOCAL_SEGMENT=+pr-${{ github.event.pull_request.number }} GENERATED_VERSION=${CHART_VERSION}${LOCAL_SEGMENT} yq -Y -i ".version = \"$GENERATED_VERSION\"" helm/Chart.yaml echo "generated-semver=$GENERATED_VERSION" >> $GITHUB_OUTPUT - name: Chart | Push uses: appany/helm-oci-chart-releaser@v0.5.0 with: name: esgf repository: ESGF/charts tag: ${{ steps.semantic-version.outputs.generated-semver }} path: helm registry: ghcr.io registry_username: ${{ github.actor }} registry_password: ${{ secrets.GITHUB_TOKEN }} update_dependencies: "true" test: name: Test deployment runs-on: ubuntu-latest needs: [container, helm] steps: - uses: actions/checkout@v4 - name: Start minikube uses: medyagh/setup-minikube@latest - name: Set up Helm uses: azure/setup-helm@v4.3.0 - name: Install Helm Chart run: | helm install test oci://ghcr.io/ESGF/charts/esgf \ --version=${{ needs.helm.outputs.generated-semver }} \ --set image.tag=pr-${{ github.event.pull_request.number }} \ --set hostname=esg-esgf.test \ --set service.type=NodePort \ --debug \ --wait - name: Test File Server run: | kubectl get pods --all-namespaces SVC_URL=$(minikube service test-esgf-file-server --url) echo "Service URL: $SVC_URL" curl -s "${SVC_URL}/thredds/fileServer/" .github/workflows/release.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line name: Release on: push: tags: - "[0-9]+.[0-9]+.[0-9]*" permissions: {} jobs: helm: name: Publish Helm chart runs-on: ubuntu-latest permissions: packages: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Chart | Push uses: appany/helm-oci-chart-releaser@v0.5.0 with: name: esgf repository: ESGF/charts tag: ${{ github.ref_name }} path: deploy/kubernetes/chart registry: ghcr.io registry_username: ${{ github.actor }} registry_password: ${{ secrets.GITHUB_TOKEN }} update_dependencies: "true" .gitlab-ci.yml +0 −7 Original line number Diff line number Diff line Loading @@ -154,13 +154,6 @@ build:tomcat: CONTEXT_DIR: $CI_PROJECT_DIR/images/tomcat needs: ["build:jre"] build:keycloak: extends: .docker-build stage: build-3 variables: CONTEXT_DIR: $CI_PROJECT_DIR/images/keycloak needs: ["build:jdk"] build:python-build: extends: .docker-build stage: build-3 Loading deploy/ansible/roles/data/templates/fileserver.conf.j2 +8 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,14 @@ server { return 404; } # Health check location /health { return 200; } location /thredds/fileServer/health { return 200; } # Create a location block for each dataset {% for dataset in data_datasets %} location /thredds/fileServer/{{ dataset.path }}/ { Loading deploy/ansible/roles/proxy/templates/proxy.conf.j2 +5 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,11 @@ server { return 404; } # Health check location /health { return 200; } {% if auth_enabled %} location /verify { set $query ''; Loading Loading
.github/workflows/k8s.yml 0 → 100644 +69 −0 Original line number Diff line number Diff line name: K8S Build & Test on: pull_request: permissions: {} jobs: helm: name: Publish Helm chart runs-on: ubuntu-latest permissions: packages: write outputs: generated-semver: ${{ steps.semantic-version.outputs.generated-semver }} steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install jq run: | sudo apt-get install --yes jq - name: Install yq run: | pip install yq - name: Generate SemVer id: semantic-version run: | CHART_VERSION=$(yq -r '.version' helm/Chart.yaml) LOCAL_SEGMENT=+pr-${{ github.event.pull_request.number }} GENERATED_VERSION=${CHART_VERSION}${LOCAL_SEGMENT} yq -Y -i ".version = \"$GENERATED_VERSION\"" helm/Chart.yaml echo "generated-semver=$GENERATED_VERSION" >> $GITHUB_OUTPUT - name: Chart | Push uses: appany/helm-oci-chart-releaser@v0.5.0 with: name: esgf repository: ESGF/charts tag: ${{ steps.semantic-version.outputs.generated-semver }} path: helm registry: ghcr.io registry_username: ${{ github.actor }} registry_password: ${{ secrets.GITHUB_TOKEN }} update_dependencies: "true" test: name: Test deployment runs-on: ubuntu-latest needs: [container, helm] steps: - uses: actions/checkout@v4 - name: Start minikube uses: medyagh/setup-minikube@latest - name: Set up Helm uses: azure/setup-helm@v4.3.0 - name: Install Helm Chart run: | helm install test oci://ghcr.io/ESGF/charts/esgf \ --version=${{ needs.helm.outputs.generated-semver }} \ --set image.tag=pr-${{ github.event.pull_request.number }} \ --set hostname=esg-esgf.test \ --set service.type=NodePort \ --debug \ --wait - name: Test File Server run: | kubectl get pods --all-namespaces SVC_URL=$(minikube service test-esgf-file-server --url) echo "Service URL: $SVC_URL" curl -s "${SVC_URL}/thredds/fileServer/"
.github/workflows/release.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line name: Release on: push: tags: - "[0-9]+.[0-9]+.[0-9]*" permissions: {} jobs: helm: name: Publish Helm chart runs-on: ubuntu-latest permissions: packages: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Chart | Push uses: appany/helm-oci-chart-releaser@v0.5.0 with: name: esgf repository: ESGF/charts tag: ${{ github.ref_name }} path: deploy/kubernetes/chart registry: ghcr.io registry_username: ${{ github.actor }} registry_password: ${{ secrets.GITHUB_TOKEN }} update_dependencies: "true"
.gitlab-ci.yml +0 −7 Original line number Diff line number Diff line Loading @@ -154,13 +154,6 @@ build:tomcat: CONTEXT_DIR: $CI_PROJECT_DIR/images/tomcat needs: ["build:jre"] build:keycloak: extends: .docker-build stage: build-3 variables: CONTEXT_DIR: $CI_PROJECT_DIR/images/keycloak needs: ["build:jdk"] build:python-build: extends: .docker-build stage: build-3 Loading
deploy/ansible/roles/data/templates/fileserver.conf.j2 +8 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,14 @@ server { return 404; } # Health check location /health { return 200; } location /thredds/fileServer/health { return 200; } # Create a location block for each dataset {% for dataset in data_datasets %} location /thredds/fileServer/{{ dataset.path }}/ { Loading
deploy/ansible/roles/proxy/templates/proxy.conf.j2 +5 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,11 @@ server { return 404; } # Health check location /health { return 200; } {% if auth_enabled %} location /verify { set $query ''; Loading