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
|
tier: system
|
||||||
|
|
||||||
releases:
|
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
|
- name: manifests
|
||||||
namespace: proteus
|
namespace: proteus
|
||||||
chart: manifests
|
chart: manifests
|
||||||
@@ -15,7 +36,6 @@ releases:
|
|||||||
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
- ../values/proteus/env.yaml.gotmpl
|
- ../values/proteus/env.yaml.gotmpl
|
||||||
- ../values/proteus/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
- ../values/proteus/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
||||||
- ../values/proteus/values/values-staging.yaml
|
|
||||||
hooks:
|
hooks:
|
||||||
- events: [ prepare, cleanup ]
|
- events: [ prepare, cleanup ]
|
||||||
showlogs: true
|
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:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
||||||
tag: 7a4a367d-debug
|
tag: 7a4a367d-debug
|
||||||
|
environment: staging
|
||||||
|
|||||||
Reference in New Issue
Block a user