proteus: Move to chart
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: proteus
|
||||
description: A Helm chart for Kubernetes
|
||||
type: application
|
||||
version: 0.1.0
|
||||
appVersion: "0.1.0"
|
||||
@@ -0,0 +1,69 @@
|
||||
{{- if eq .Values.environment "prod" }}
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerResourceTemplate
|
||||
metadata:
|
||||
name: proteus-prod-hpa
|
||||
namespace: proteus
|
||||
spec:
|
||||
workerDeploymentRef:
|
||||
name: proteus-prod
|
||||
template:
|
||||
apiVersion: autoscaling/v2
|
||||
kind: HorizontalPodAutoscaler
|
||||
spec:
|
||||
scaleTargetRef: {} # NOTE: controller injects the versioned Deployment
|
||||
minReplicas: 2
|
||||
maxReplicas: 10
|
||||
metrics:
|
||||
- type: External
|
||||
external:
|
||||
metric:
|
||||
name: temporal_approximate_backlog_count
|
||||
selector:
|
||||
matchLabels:
|
||||
task_type: "Activity"
|
||||
target:
|
||||
type: AverageValue
|
||||
averageValue: "2"
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
{{- end }}
|
||||
---
|
||||
{{- if eq .Values.environment "beta" }}
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerResourceTemplate
|
||||
metadata:
|
||||
name: proteus-beta-hpa
|
||||
namespace: proteus
|
||||
spec:
|
||||
workerDeploymentRef:
|
||||
name: proteus-beta
|
||||
template:
|
||||
apiVersion: autoscaling/v2
|
||||
kind: HorizontalPodAutoscaler
|
||||
spec:
|
||||
scaleTargetRef: {}
|
||||
minReplicas: 1
|
||||
maxReplicas: 2
|
||||
metrics:
|
||||
- type: External
|
||||
external:
|
||||
metric:
|
||||
name: temporal_approximate_backlog_count
|
||||
selector:
|
||||
matchLabels:
|
||||
task_type: "Activity"
|
||||
target:
|
||||
type: AverageValue
|
||||
averageValue: "2"
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: 70
|
||||
{{- end }}
|
||||
@@ -0,0 +1,206 @@
|
||||
{{- if eq .Values.environment "prod" }}
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerDeployment
|
||||
metadata:
|
||||
name: proteus-prod
|
||||
namespace: proteus
|
||||
spec:
|
||||
replicas: 2
|
||||
workerOptions:
|
||||
temporalNamespace: prod-atlantis
|
||||
connectionRef:
|
||||
name: temporal
|
||||
rollout:
|
||||
strategy: AllAtOnce
|
||||
sunset: {}
|
||||
template:
|
||||
spec:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
volumes:
|
||||
- name: archives
|
||||
persistentVolumeClaim:
|
||||
claimName: proteus-ceph-archives
|
||||
containers:
|
||||
- name: proteus
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
resources:
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: 1Gi
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 4Gi
|
||||
env:
|
||||
- name: TEMPORAL_TASK_QUEUES
|
||||
value: plume,xtract
|
||||
- name: TEMPORAL_NAMESPACE
|
||||
value: prod-atlantis
|
||||
- name: APP_ENV
|
||||
value: prod
|
||||
- name: ARCHIVE_PVC
|
||||
value: prod-queue-ceph-archives
|
||||
- name: MAX_CONCURRENT_ACTIVITIES
|
||||
value: "2"
|
||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
value: http://10.255.241.12:4317
|
||||
volumeMounts:
|
||||
- name: archives
|
||||
mountPath: /data
|
||||
ports:
|
||||
- name: health
|
||||
containerPort: 8080
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: health
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 6
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: health
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
{{- end }}
|
||||
---
|
||||
{{- if eq .Values.environment "beta" }}
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerDeployment
|
||||
metadata:
|
||||
name: proteus-beta
|
||||
namespace: proteus
|
||||
spec:
|
||||
replicas: 1
|
||||
workerOptions:
|
||||
temporalNamespace: beta-atlantis
|
||||
connectionRef:
|
||||
name: temporal
|
||||
rollout:
|
||||
strategy: AllAtOnce
|
||||
sunset: {}
|
||||
template:
|
||||
spec:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
volumes:
|
||||
- name: archives
|
||||
persistentVolumeClaim:
|
||||
claimName: proteus-ceph-archives
|
||||
containers:
|
||||
- name: proteus
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 1Gi
|
||||
env:
|
||||
- name: TEMPORAL_TASK_QUEUES
|
||||
value: plume,xtract
|
||||
- name: TEMPORAL_NAMESPACE
|
||||
value: beta-atlantis
|
||||
- name: APP_ENV
|
||||
value: beta
|
||||
- name: ARCHIVE_PVC
|
||||
value: prod-queue-ceph-archives
|
||||
- name: MAX_CONCURRENT_ACTIVITIES
|
||||
value: "2"
|
||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
value: http://10.255.241.12:4317
|
||||
volumeMounts:
|
||||
- name: archives
|
||||
mountPath: /data
|
||||
ports:
|
||||
- name: health
|
||||
containerPort: 8080
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: health
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 6
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: health
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
{{- end }}
|
||||
---
|
||||
{{- if eq .Values.environment "staging" }}
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerDeployment
|
||||
metadata:
|
||||
name: proteus-staging
|
||||
namespace: proteus
|
||||
spec:
|
||||
replicas: 1
|
||||
workerOptions:
|
||||
temporalNamespace: staging-atlantis
|
||||
connectionRef:
|
||||
name: temporal
|
||||
rollout:
|
||||
strategy: AllAtOnce
|
||||
sunset: {}
|
||||
template:
|
||||
spec:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
volumes:
|
||||
- name: archives
|
||||
persistentVolumeClaim:
|
||||
claimName: proteus-ceph-archives
|
||||
containers:
|
||||
- name: proteus
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 1Gi
|
||||
env:
|
||||
- name: TEMPORAL_TASK_QUEUES
|
||||
value: plume,xtract
|
||||
- name: TEMPORAL_NAMESPACE
|
||||
value: staging-atlantis
|
||||
- name: MAX_CONCURRENT_ACTIVITIES
|
||||
value: "10"
|
||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
value: http://10.255.241.12:4317
|
||||
volumeMounts:
|
||||
- name: archives
|
||||
mountPath: /data
|
||||
ports:
|
||||
- name: health
|
||||
containerPort: 8080
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: health
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 6
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: health
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
{{- end }}
|
||||
@@ -0,0 +1,12 @@
|
||||
# Default values for proteus.
|
||||
# This chart is installed three times, like atlantis: "proteus" (environment: prod, this
|
||||
# file's defaults), "proteus-staging" (environment: staging, values-staging.yaml), and
|
||||
# "proteus-beta" (environment: beta, values-beta.yaml). Each release has its own Values scope,
|
||||
# so all three can use the plain `image` key without colliding — the publish-container CI action
|
||||
# bumps .image.tag here directly on a tagged release (same convention as charts/atlantis/values.yaml)
|
||||
# and bumps values-staging.yaml's .image.tag on every merge to main. Beta's tag is manually pinned,
|
||||
# same as atlantis's values-beta.yaml.gotmpl.
|
||||
image:
|
||||
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
||||
tag: ""
|
||||
environment: prod
|
||||
@@ -5,6 +5,27 @@ commonLabels:
|
||||
tier: system
|
||||
|
||||
releases:
|
||||
- name: proteus
|
||||
namespace: proteus
|
||||
chart: ../charts/proteus
|
||||
condition: proteus.enabled
|
||||
values:
|
||||
- ../values/proteus/values/values-prod.yaml
|
||||
missingFileHandler: Info
|
||||
- name: proteus-staging
|
||||
namespace: proteus
|
||||
chart: ../charts/proteus
|
||||
condition: proteus.enabled
|
||||
values:
|
||||
- ../values/proteus/values/values-staging.yaml
|
||||
missingFileHandler: Info
|
||||
- name: proteus-beta
|
||||
namespace: proteus
|
||||
chart: ../charts/proteus
|
||||
condition: proteus.enabled
|
||||
values:
|
||||
- ../values/proteus/values/values-beta.yaml
|
||||
missingFileHandler: Info
|
||||
- name: manifests
|
||||
namespace: proteus
|
||||
chart: manifests
|
||||
@@ -15,7 +36,6 @@ releases:
|
||||
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||
- ../values/proteus/env.yaml.gotmpl
|
||||
- ../values/proteus/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
||||
- ../values/proteus/values/values-staging.yaml
|
||||
hooks:
|
||||
- events: [ prepare, cleanup ]
|
||||
showlogs: true
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
# apiVersion: temporal.io/v1alpha1
|
||||
# kind: WorkerDeployment
|
||||
# metadata:
|
||||
# name: proteus-prod
|
||||
# namespace: proteus
|
||||
# spec:
|
||||
# replicas: 2
|
||||
# workerOptions:
|
||||
# temporalNamespace: prod-atlantis
|
||||
# connectionRef:
|
||||
# name: temporal
|
||||
# rollout:
|
||||
# strategy: AllAtOnce
|
||||
# sunset: {}
|
||||
# template:
|
||||
# spec:
|
||||
# securityContext:
|
||||
# runAsUser: 0
|
||||
# runAsGroup: 0
|
||||
# volumes:
|
||||
# - name: archives
|
||||
# persistentVolumeClaim:
|
||||
# claimName: proteus-ceph-archives
|
||||
# containers:
|
||||
# - name: proteus
|
||||
# image: git.oceanbox.io/oceanbox/poseidon/proteus:v2.17.0
|
||||
# resources:
|
||||
# requests:
|
||||
# cpu: "1"
|
||||
# memory: 1Gi
|
||||
# limits:
|
||||
# cpu: "2"
|
||||
# memory: 4Gi
|
||||
# env:
|
||||
# - name: TEMPORAL_TASK_QUEUES
|
||||
# value: plume,xtract
|
||||
# - name: TEMPORAL_NAMESPACE
|
||||
# value: prod-atlantis
|
||||
# - name: APP_ENV
|
||||
# value: prod
|
||||
# - name: ARCHIVE_PVC
|
||||
# value: prod-queue-ceph-archives
|
||||
# - name: MAX_CONCURRENT_ACTIVITIES
|
||||
# value: "2"
|
||||
# - name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
# value: http://10.255.241.12:4317
|
||||
# volumeMounts:
|
||||
# - name: archives
|
||||
# mountPath: /data
|
||||
# ports:
|
||||
# - name: health
|
||||
# containerPort: 8080
|
||||
# livenessProbe:
|
||||
# httpGet:
|
||||
# path: /healthz
|
||||
# port: health
|
||||
# initialDelaySeconds: 20
|
||||
# periodSeconds: 15
|
||||
# timeoutSeconds: 5
|
||||
# failureThreshold: 6
|
||||
# readinessProbe:
|
||||
# httpGet:
|
||||
# path: /readyz
|
||||
# port: health
|
||||
# initialDelaySeconds: 5
|
||||
# periodSeconds: 15
|
||||
# timeoutSeconds: 5
|
||||
# failureThreshold: 3
|
||||
# ---
|
||||
# apiVersion: temporal.io/v1alpha1
|
||||
# kind: WorkerDeployment
|
||||
# metadata:
|
||||
# name: proteus-beta
|
||||
# namespace: proteus
|
||||
# spec:
|
||||
# replicas: 1
|
||||
# workerOptions:
|
||||
# temporalNamespace: beta-atlantis
|
||||
# connectionRef:
|
||||
# name: temporal
|
||||
# rollout:
|
||||
# strategy: AllAtOnce
|
||||
# sunset: {}
|
||||
# template:
|
||||
# spec:
|
||||
# securityContext:
|
||||
# runAsUser: 0
|
||||
# runAsGroup: 0
|
||||
# containers:
|
||||
# - name: proteus
|
||||
# image: git.oceanbox.io/oceanbox/poseidon/proteus:CHANGEME
|
||||
# resources:
|
||||
# requests:
|
||||
# memory: 256Mi
|
||||
# limits:
|
||||
# memory: 1Gi
|
||||
# env:
|
||||
# - name: TEMPORAL_TASK_QUEUES
|
||||
# value: plume,xtract
|
||||
# - name: TEMPORAL_NAMESPACE
|
||||
# value: beta-atlantis
|
||||
# - name: APP_ENV
|
||||
# value: beta
|
||||
# - name: ARCHIVE_PVC
|
||||
# value: prod-queue-ceph-archives
|
||||
---
|
||||
apiVersion: temporal.io/v1alpha1
|
||||
kind: WorkerDeployment
|
||||
metadata:
|
||||
name: proteus-staging
|
||||
namespace: proteus
|
||||
spec:
|
||||
replicas: 1
|
||||
workerOptions:
|
||||
temporalNamespace: staging-atlantis
|
||||
connectionRef:
|
||||
name: temporal
|
||||
rollout:
|
||||
strategy: AllAtOnce
|
||||
sunset: {}
|
||||
template:
|
||||
spec:
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
volumes:
|
||||
- name: archives
|
||||
persistentVolumeClaim:
|
||||
claimName: proteus-ceph-archives
|
||||
containers:
|
||||
- name: proteus
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 1Gi
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 4Gi
|
||||
env:
|
||||
- name: TEMPORAL_TASK_QUEUES
|
||||
value: plume,xtract
|
||||
- name: TEMPORAL_NAMESPACE
|
||||
value: staging-atlantis
|
||||
- name: MAX_CONCURRENT_ACTIVITIES
|
||||
value: "10"
|
||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||
value: http://10.255.241.12:4317
|
||||
volumeMounts:
|
||||
- name: archives
|
||||
mountPath: /data
|
||||
ports:
|
||||
- name: health
|
||||
containerPort: 8080
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: health
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 6
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: health
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 3
|
||||
@@ -0,0 +1,4 @@
|
||||
image:
|
||||
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
||||
tag: v2.17.0
|
||||
environment: beta
|
||||
@@ -0,0 +1 @@
|
||||
environment: prod
|
||||
@@ -1,3 +1,4 @@
|
||||
image:
|
||||
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
||||
tag: 7a4a367d-debug
|
||||
environment: staging
|
||||
|
||||
Reference in New Issue
Block a user