Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions .github/workflows/build-eviction-controller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,20 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Sanitize branch name for Docker tag
id: sanitize
run: |
BRANCH_NAME="${{ github.ref_name }}"
# Replace any character that's not alphanumeric, dot, underscore, or hyphen with a hyphen
SANITIZED_BRANCH=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g' | sed 's/--*/-/g' | sed 's/^-*\|-*$//g')
# Ensure it's not empty and doesn't start with a dot or hyphen
if [[ -z "$SANITIZED_BRANCH" || "$SANITIZED_BRANCH" =~ ^[.-] ]]; then
SANITIZED_BRANCH="branch-$SANITIZED_BRANCH"
fi
echo "branch_name=$SANITIZED_BRANCH" >> $GITHUB_OUTPUT
echo "Original branch: $BRANCH_NAME"
echo "Sanitized branch: $SANITIZED_BRANCH"

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
Expand All @@ -67,8 +81,11 @@ jobs:
type=semver,pattern={{major}}
# Latest tag for main branch
type=raw,value=latest,enable={{is_default_branch}}
# SHA-based tag
type=sha,prefix={{branch}}-
# SHA-based tag (sanitized branch name)
type=sha,prefix=${{ steps.sanitize.outputs.branch_name }}-
flavor: |
suffix=
latest=auto

- name: Build and push Docker image
uses: docker/build-push-action@v5
Expand Down
7 changes: 6 additions & 1 deletion eviction-controller/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@ RUN apk --no-cache add \
postgresql-client

# Install kubectl
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/$(uname -m)/kubectl" && \
RUN echo "Build timestamp: $(date)" && \
ARCH=$(uname -m) && \
if [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; fi && \
echo "Downloading kubectl for architecture: $ARCH" && \
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/$ARCH/kubectl" && \
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \
rm kubectl

Expand Down
49 changes: 26 additions & 23 deletions skaffold.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,6 @@ deploy:
valuesFiles:
- zoo-project-dru/values_minikube.yaml

hooks:
after:
- host:
command: ["sh", "-c", "./wait-for-it.sh"]
os: [darwin, linux]

profiles:

- name: hostpath
Expand All @@ -48,7 +42,7 @@ profiles:
value:
name: kyverno
remoteChart: kyverno/kyverno
version: "3.1.4"
version: "3.5.2"
namespace: kyverno-system
createNamespace: true
values:
Expand All @@ -70,14 +64,23 @@ profiles:
path: /deploy/helm/releases/1/setValues
value:
keda.enabled: "true"
keda.skipScaledObject: "false" # Override to enable ScaledObject creation
keda.triggers.postgresql.enabled: "true"
keda.triggers.postgresql.useConfigMap: "false" # Use simple inline query
keda.triggers.postgresql.query: "SELECT COUNT(*) FROM workers WHERE status = 1"
keda.triggers.rabbitmq.enabled: "true"
keda.kyverno.enabled: "false"
keda.evictionController.enabled: "true"
keda.evictionController.image.tag: ""
keda.kyverno.policies.zoofpmProtection.enabled: "true"
keda.evictionController.enabled: "true"
keda.evictionController.image.pullPolicy: "Never"
zoofpm.autoscaling.enabled: "false"

- op: add
path: /deploy/helm/releases/1/setValueTemplates
value:
keda.evictionController.image.repository: "{{.IMAGE_REPO_ghcr_io_zoo_project_zoofpm_eviction_controller}}"
keda.evictionController.image.tag: "{{.IMAGE_TAG_ghcr_io_zoo_project_zoofpm_eviction_controller}}"

- name: webui
patches:
- op: add
Expand Down Expand Up @@ -106,7 +109,7 @@ profiles:
port: 9000
localPort: 9000
- resourceType: service
resourceName: s3-service
resourceName: s3-service-console
namespace: zoo
port: 9001
localPort: 9001
Expand All @@ -124,17 +127,17 @@ profiles:
port: 2746
localPort: 2746
# Prometheus
- resourceType: service
resourceName: zoo-project-dru-kube-prome-prometheus
namespace: zoo
port: 9090
localPort: 9090
# Grafana
- resourceType: service
resourceName: zoo-project-dru-grafana
namespace: zoo
port: 80
localPort: 3000
# - resourceType: service
# resourceName: zoo-project-dru-kube-prome-prometheus
# namespace: zoo
# port: 9090
# localPort: 9090
# # Grafana
# - resourceType: service
# resourceName: zoo-project-dru-grafana
# namespace: zoo
# port: 80
# localPort: 3000
- resourceType: service
resourceName: zoo-project-dru-service
namespace: zoo
Expand All @@ -151,7 +154,7 @@ profiles:
port: 9000
localPort: 9000
- resourceType: service
resourceName: s3-service
resourceName: s3-service-console
namespace: zoo
port: 9001
localPort: 9001
Expand Down Expand Up @@ -181,7 +184,7 @@ portForward:
port: 9000
localPort: 9000
- resourceType: service
resourceName: s3-service
resourceName: s3-service-console
namespace: zoo
port: 9001
localPort: 9001
58 changes: 24 additions & 34 deletions zoo-project-dru/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.7.5
version: 0.8.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand All @@ -40,24 +40,9 @@ keywords:
- stac

dependencies:
- name: postgresql
version: "16.6.0"
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled

- name: rabbitmq
version: "15.4.1"
repository: https://charts.bitnami.com/bitnami
condition: broker.enabled

- name: redis
version: "20.11.4"
repository: https://charts.bitnami.com/bitnami
condition: redis.enabled

- name: minio
version: "16.0.0"
repository: https://charts.bitnami.com/bitnami
version: 5.4.0
repository: https://charts.min.io/
condition: minio.enabled

- name: keda
Expand All @@ -66,7 +51,7 @@ dependencies:
condition: keda.enabled

- name: kyverno
version: "3.1.4"
version: "3.5.2"
repository: https://kyverno.github.io/kyverno/
condition: keda.kyverno.enabled

Expand All @@ -87,24 +72,29 @@ dependencies:

annotations:
artifacthub.io/changes: |
- kind: changed
description: "Update to the latest ZOO-Project version with eoap-cwlwrap and cwl2ogc support"
- kind: removed
description: "Remove bitnami/rabbitmq dependency and integrate the official rabbitmq Docker image"
links:
- name: GitHub Commit
url: https://github.com/ZOO-Project/ZOO-Project/commit/39b6fc74b6592b4584be5a0b2740dde11a1ffafc
- kind: changed
description: "Update the cwlwrapper-assets templates for stagein and stageout"
- kind: added
description: "Add stagein-file.yaml to the ConfigMap"
- kind: changed
description: "Update the postgresql scripts to add support for cwl2ogc schema definition"
- kind: added
description: "Add processes_profiles section to support profile links in the response headers"
- name: RabbitMQ Docker Hub
url: https://hub.docker.com/_/rabbitmq
- kind: removed
description: "Remove bitnami/postgresql dependency and integrate the official PostgreSQL Docker image"
links:
- name: PostgreSQL Docker Hub
url: https://hub.docker.com/_/postgres
- kind: removed
description: "Remove bitnami/redis dependency and integrate the official Redis Docker image"
links:
- name: Redis Docker Hub
url: https://hub.docker.com/_/redis
- kind: changed
description: "Update the webui to use the latest nuxt-client image (0.0.3)"
description: "Migrate from bitnami/minio to the official one from https://charts.min.io/"
links:
- name: DockerHub
url: https://hub.docker.com/r/zooproject/nuxt-client/tags?name=0.0.3
- name: Artifact Hub
url: https://artifacthub.io/packages/helm/minio-official/minio
- kind: fixed
description: "Update documentation to reflect new dependencies and official Docker images integration"


artifacthub.io/links: |
- name: source
Expand Down
Loading