commit 15cffbdd0f46ec40ec40f55fa598c654fa2625e7 Author: dahoud <41957584+DahoudG@users.noreply.github.com> Date: Wed Apr 22 15:07:26 2026 +0000 feat: deploy config mic-after-work-server-impl-quarkus-main pour cluster k1 diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..36b257a --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +name: mic-after-work-server-impl-quarkus-main +description: Deploy config pour mic-after-work-server-impl-quarkus-main sur cluster k1 +type: application +version: 1.0.0 +appVersion: "1.0.0-SNAPSHOT-20260207-170659" +kubeVersion: ">=1.28.0-0" +maintainers: + - name: Lions Infrastructure Team + email: infrastructure@lions.dev +home: https://git.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main-k1 +sources: + - https://git.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main + - https://git.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main-k1 +dependencies: + - name: lions-app + version: "1.0.1" + repository: "https://git.lions.dev/api/packages/lionsdev/helm" diff --git a/README.md b/README.md new file mode 100644 index 0000000..c586bb7 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# mic-after-work-server-impl-quarkus-main-k1 + +Deploy config pour **mic-after-work-server-impl-quarkus-main** sur cluster k1. + +- Host : https://api.lions.dev/mic-after-work +- Chart parent : lions-app 1.0.1 +- Image : registry.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main:1.0.0-SNAPSHOT-20260207-170659 + +## Deploy + +```bash +helm repo add lions https://git.lions.dev/api/packages/lionsdev/helm --username lionsdev --password 'lions@2025' +helm dependency update . +helm upgrade --install mic-after-work-server-impl-quarkus-main . --namespace applications --wait +``` + +## Pipeline lionsctl (attendu) + +```bash +lionsctl pipeline -u https://git.lions.dev/lionsdev/mic-after-work-server-impl-quarkus-main -b main -j 21 -e production -c k1 -p prod -m admin@lions.dev +``` diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000..2d4c33e --- /dev/null +++ b/values.yaml @@ -0,0 +1,113 @@ +# Deploy values pour mic-after-work-server-impl-quarkus-main sur cluster k1 (prod) +# Override du chart lions-app 1.0.1 + +lions-app: + + image: + registry: registry.lions.dev + repository: lionsdev + name: mic-after-work-server-impl-quarkus-main + tag: "1.0.0-SNAPSHOT-20260207-170659" # AUTO-UPDATED by lionsctl pipeline + pullPolicy: IfNotPresent + pullSecrets: + - lionsregistry-secret + + replicaCount: 1 + + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: "1" + memory: 1Gi + + # Env non-sensibles + configMap: + enabled: true + envFrom: true + data: + QUARKUS_PROFILE: prod + APP_ENV: production + JAVA_OPTS: "-Xms256m -Xmx512m" + QUARKUS_HTTP_PORT: "8080" + APP_BASE_URL: https://api.lions.dev + + # Secrets depuis K8s Secrets existants (migration Vault à venir) + extraEnvFrom: + - secretRef: + name: mic-after-work-server-impl-quarkus-main-db-secret + - secretRef: + name: mic-after-work-server-impl-quarkus-main-oidc-secret + + externalSecret: + enabled: false # TODO: migrate to Vault ExternalSecret + + ingress: + enabled: true + className: nginx + clusterIssuer: letsencrypt-prod + host: api.lions.dev + pathPrefix: + enabled: true + strip: /mic-after-work + tls: + enabled: true + rateLimit: + enabled: true + rpm: 3000 + connections: 200 + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "50m" + nginx.ingress.kubernetes.io/proxy-read-timeout: "300" + nginx.ingress.kubernetes.io/proxy-send-timeout: "300" + nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" + + networkPolicy: + enabled: false # TODO: re-enable après validation egress rules + + probes: + liveness: + enabled: true + httpGet: + path: /health/live + port: 8080 + initialDelaySeconds: 60 + periodSeconds: 30 + timeoutSeconds: 5 + failureThreshold: 3 + readiness: + enabled: true + httpGet: + path: /health/ready + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + + volumes: + tmp: + enabled: true + sizeLimit: 200Mi + logs: + enabled: true + sizeLimit: 500Mi + mountPath: /app/logs + extra: + - name: app-storage + emptyDir: + sizeLimit: 2Gi + + volumeMounts: + - name: app-storage + mountPath: /app/storage + + tolerations: + - key: node-role.kubernetes.io/control-plane + operator: Exists + effect: NoSchedule + + podAnnotations: + lionsctl.lions.dev/cluster: k1 + lionsctl.lions.dev/environment: production