Compare commits
102 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 28ef6e8e5c | |||
| 015b9d5833 | |||
| 624743d7d1 | |||
| 60168571fe | |||
| 1ed8bc13a1 | |||
|
95a8d3291a
|
|||
| 3de27b278b | |||
|
0e8585572c
|
|||
|
24f1f2fd2c
|
|||
|
8e410f761a
|
|||
| 16178cf2d6 | |||
| 15fe5001b2 | |||
| be09398708 | |||
| 06a7d1b923 | |||
| 5b868f2c5c | |||
| b4a0195b23 | |||
| b5ee9f199b | |||
| 6357a0908d | |||
| eb7d30ca6c | |||
| 15ef00e534 | |||
| 00657dcd34 | |||
| aad04e120b | |||
|
59d8e157e2
|
|||
| b7a4c814b3 | |||
| 5de65dd94b | |||
| 560d199980 | |||
|
c548b3e15f
|
|||
|
b5c24dc26f
|
|||
| 7369ad3c8a | |||
| d0f54c9033 | |||
| 2badb27df6 | |||
| a446325956 | |||
| eff44720a4 | |||
| 235fc7b95b | |||
| ddcf43420e | |||
| e46b148a8f | |||
| 8888bf63d9 | |||
| cd2983c683 | |||
| c684615012 | |||
| ad9bb1eaf9 | |||
| 658d09c113 | |||
| 1ffcdca37e | |||
| 5be14ba40d | |||
| df7c242782 | |||
| 0344d7207c | |||
| c51971f31e | |||
| f7d6f95fa2 | |||
| d26d1f13b3 | |||
| d4db2c5fe4 | |||
| 55d65c6537 | |||
| 08e28d5d1a | |||
| 06ecb840c5 | |||
| f71a42850f | |||
| a00b2bc41d | |||
| 47131ab623 | |||
| 460e91e89c | |||
| 9a6c286256 | |||
| 282cd9286f | |||
| b27a419158 | |||
| a7ccd3b123 | |||
| d4e0d09fa9 | |||
| 323b710a0b | |||
| 626d9125fa | |||
| 41dd40c7b6 | |||
| 5f3a97c525 | |||
| b5468a1100 | |||
| f07ac5158c | |||
| 892e326a8d | |||
| 4dda76f6a5 | |||
| 3f255816b1 | |||
| 9477342a70 | |||
| 3f6e99c34f | |||
| 5c72985801 | |||
|
8a88f21e14
|
|||
| bd3bbf66ec | |||
|
dac7f16f04
|
|||
| acf97bb584 | |||
| 9fccca2284 | |||
| dede8518f2 | |||
|
7d26a7ec39
|
|||
| 3ba39a584e | |||
| bff34addae | |||
|
421c7b4a7c
|
|||
|
e09f1c19ce
|
|||
|
a5498c0954
|
|||
|
3cc00d5a83
|
|||
|
06960f3a1d
|
|||
|
ec5e227994
|
|||
|
78fb7c27d9
|
|||
|
dfe6fa412b
|
|||
| 9ec7603348 | |||
|
026f6dccb8
|
|||
|
d3c3ba2191
|
|||
| ab9bb43beb | |||
| d46bbca804 | |||
| 50e5a2952e | |||
| 764a922dbe | |||
| 288a474c85 | |||
| 3a4bb4d0d7 | |||
| 836b1078fb | |||
| 754c43340e | |||
| 10542a23bf |
@@ -4,10 +4,10 @@ description: Atlantis map and simulation service
|
|||||||
type: application
|
type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: v2.17.1
|
version: v2.22.0
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
appVersion: v2.17.1
|
appVersion: v2.22.0
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: diagrid-dashboard
|
- name: diagrid-dashboard
|
||||||
version: "0.1.0"
|
version: "0.1.0"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
||||||
tag: v2.17.1
|
tag: v2.22.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: v2.17.1
|
version: v2.22.0
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# 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
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
# It is recommended to use it with quotes.
|
# It is recommended to use it with quotes.
|
||||||
appVersion: "v2.17.1"
|
appVersion: "v2.22.0"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ image:
|
|||||||
# This sets the pull policy for images.
|
# This sets the pull policy for images.
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: v2.17.1
|
tag: v2.22.0
|
||||||
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- name: gitlab-pull-secret
|
- name: gitlab-pull-secret
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ description: A Helm chart for Kubernetes
|
|||||||
type: application
|
type: application
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: v2.17.1
|
version: v2.22.0
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
appVersion: v2.17.1
|
appVersion: v2.22.0
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: diagrid-dashboard
|
- name: diagrid-dashboard
|
||||||
version: "0.1.0"
|
version: "0.1.0"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
||||||
tag: v2.17.1
|
tag: v2.22.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: argocd
|
- name: argocd
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
chart: argo/argo-cd
|
chart: argo/argo-cd
|
||||||
version: 9.5.21
|
version: 9.7.1
|
||||||
condition: argo.enabled
|
condition: argo.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/argo/values/argocd.yaml.gotmpl
|
- ../values/argo/values/argocd.yaml.gotmpl
|
||||||
@@ -43,7 +43,7 @@ releases:
|
|||||||
- name: argo-workflows
|
- name: argo-workflows
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
chart: argo/argo-workflows
|
chart: argo/argo-workflows
|
||||||
version: 1.0.18
|
version: 1.0.19
|
||||||
condition: argo.workflows.enabled
|
condition: argo.workflows.enabled
|
||||||
missingFileHandler: Info
|
missingFileHandler: Info
|
||||||
- name: manifests
|
- name: manifests
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: ingress-haproxy
|
- name: ingress-haproxy
|
||||||
namespace: ingress-haproxy
|
namespace: ingress-haproxy
|
||||||
chart: haproxytech/kubernetes-ingress
|
chart: haproxytech/kubernetes-ingress
|
||||||
version: 1.52.0
|
version: 1.52.1
|
||||||
condition: haproxy.enabled
|
condition: haproxy.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/ingress-haproxy/values/ingress-haproxy.yaml.gotmpl
|
- ../values/ingress-haproxy/values/ingress-haproxy.yaml.gotmpl
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: kyverno
|
- name: kyverno
|
||||||
namespace: kyverno
|
namespace: kyverno
|
||||||
chart: kyverno/kyverno
|
chart: kyverno/kyverno
|
||||||
version: 3.8.1
|
version: 3.8.2
|
||||||
condition: kyverno.enabled
|
condition: kyverno.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/kyverno/values/kyverno.yaml.gotmpl
|
- ../values/kyverno/values/kyverno.yaml.gotmpl
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ releases:
|
|||||||
namespace: {{ .Environment.Name }}-openfga
|
namespace: {{ .Environment.Name }}-openfga
|
||||||
{{- end }}
|
{{- end }}
|
||||||
chart: openfga/openfga
|
chart: openfga/openfga
|
||||||
version: 0.3.9
|
version: 0.3.10
|
||||||
condition: openfga.enabled
|
condition: openfga.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/openfga/values/values.yaml
|
- ../values/openfga/values/values.yaml
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ releases:
|
|||||||
- name: plugin-barman-cloud
|
- name: plugin-barman-cloud
|
||||||
namespace: cnpg
|
namespace: cnpg
|
||||||
chart: cloudnative-pg/plugin-barman-cloud
|
chart: cloudnative-pg/plugin-barman-cloud
|
||||||
version: 0.6.0
|
version: 0.7.0
|
||||||
condition: postgres_operator.enabled
|
condition: postgres_operator.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/postgres-operator/values/plugin-barman-cloud.yaml.gotmpl
|
- ../values/postgres-operator/values/plugin-barman-cloud.yaml.gotmpl
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: prometheus
|
- name: prometheus
|
||||||
namespace: prometheus
|
namespace: prometheus
|
||||||
chart: prometheus/kube-prometheus-stack
|
chart: prometheus/kube-prometheus-stack
|
||||||
version: 86.2.0
|
version: 86.3.2
|
||||||
condition: prometheus.enabled
|
condition: prometheus.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/prometheus/values/prometheus.yaml.gotmpl
|
- ../values/prometheus/values/prometheus.yaml.gotmpl
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ 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
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: spegel
|
- name: spegel
|
||||||
namespace: spegel
|
namespace: spegel
|
||||||
chart: spegel/spegel
|
chart: spegel/spegel
|
||||||
version: 0.7.1
|
version: 0.7.3
|
||||||
condition: spegel.enabled
|
condition: spegel.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/spegel/values/spegel.yaml.gotmpl
|
- ../values/spegel/values/spegel.yaml.gotmpl
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ releases:
|
|||||||
- name: umami
|
- name: umami
|
||||||
namespace: analytics
|
namespace: analytics
|
||||||
chart: umami/umami
|
chart: umami/umami
|
||||||
version: 7.9.4
|
version: 7.10.10
|
||||||
condition: umami.enabled
|
condition: umami.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/umami/values/values.yaml
|
- ../values/umami/values/values.yaml
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
bases:
|
||||||
|
- ../envs/environments.yaml.gotmpl
|
||||||
|
|
||||||
|
repositories:
|
||||||
|
- name: upterm
|
||||||
|
url: https://upterm.dev
|
||||||
|
|
||||||
|
commonLabels:
|
||||||
|
tier: system
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: uptermd
|
||||||
|
namespace: uptermd
|
||||||
|
chart: upterm/uptermd
|
||||||
|
version: 0.2.0
|
||||||
|
condition: uptermd.enabled
|
||||||
|
values:
|
||||||
|
- ../values/uptermd/values/values.yaml
|
||||||
|
- ../values/uptermd/values/values-{{ .Environment.Name }}.yaml
|
||||||
|
postRenderer: ../bin/kustomizer
|
||||||
|
postRendererArgs:
|
||||||
|
- ../values/uptermd/kustomize/{{ .Environment.Name }}
|
||||||
|
missingFileHandler: Info
|
||||||
|
- name: manifests
|
||||||
|
namespace: uptermd
|
||||||
|
chart: manifests
|
||||||
|
condition: uptermd.enabled
|
||||||
|
missingFileHandler: Info
|
||||||
|
values:
|
||||||
|
- ../values/env.yaml
|
||||||
|
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
|
- ../values/uptermd/env.yaml.gotmpl
|
||||||
|
- ../values/uptermd/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
||||||
|
hooks:
|
||||||
|
- events: [ prepare, cleanup ]
|
||||||
|
showlogs: true
|
||||||
|
command: ../bin/helmify
|
||||||
|
args:
|
||||||
|
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
|
||||||
|
- '{{`{{ .Release.Chart }}`}}'
|
||||||
|
- '{{`{{ .Environment.Name }}`}}'
|
||||||
|
- ../values/uptermd/manifests
|
||||||
|
- manifests
|
||||||
@@ -15,7 +15,7 @@ releases:
|
|||||||
- name: velero
|
- name: velero
|
||||||
namespace: velero
|
namespace: velero
|
||||||
chart: velero/velero
|
chart: velero/velero
|
||||||
version: 12.0.3
|
version: 12.1.0
|
||||||
condition: velero.enabled
|
condition: velero.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/velero/values/velero.yaml.gotmpl
|
- ../values/velero/values/velero.yaml.gotmpl
|
||||||
|
|||||||
@@ -27,5 +27,6 @@ argocd:
|
|||||||
image: "git.oceanbox.io/platform/manifests/helmfile-cmp:latest"
|
image: "git.oceanbox.io/platform/manifests/helmfile-cmp:latest"
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
- gitlab-pull-secret
|
- gitlab-pull-secret
|
||||||
|
webhookSecret: ""
|
||||||
additional_rbac_settings:
|
additional_rbac_settings:
|
||||||
- g, "eb17a659-4ce6-41bc-9153-d9b117c44479", role:org-admin
|
- g, "eb17a659-4ce6-41bc-9153-d9b117c44479", role:org-admin
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ configs:
|
|||||||
name: {{ .name }}
|
name: {{ .name }}
|
||||||
config:
|
config:
|
||||||
issuer: https://login.microsoftonline.com/{{ .tenant }}/v2.0
|
issuer: https://login.microsoftonline.com/{{ .tenant }}/v2.0
|
||||||
clientID: ${{ .name | replace "-" "_" }}_client_id
|
clientID: ${{ .secret_ref.name }}:client_id
|
||||||
clientSecret: ${{ .name | replace "-" "_" }}_client_secret
|
clientSecret: ${{ .secret_ref.name }}:client_secret
|
||||||
insecureSkipEmailVerified: true
|
insecureSkipEmailVerified: true
|
||||||
requestedIDTokenClaims:
|
requestedIDTokenClaims:
|
||||||
groups:
|
groups:
|
||||||
@@ -62,7 +62,7 @@ configs:
|
|||||||
- email
|
- email
|
||||||
- groups
|
- groups
|
||||||
staticClients:
|
staticClients:
|
||||||
- id: ${{ .name | replace "-" "_" }}_client_id
|
- id: ${{ .secret_ref.name }}:client_id
|
||||||
name: Kubernetes
|
name: Kubernetes
|
||||||
# These are kubectl oidc plugin internal URLs
|
# These are kubectl oidc plugin internal URLs
|
||||||
redirectURIs:
|
redirectURIs:
|
||||||
@@ -99,6 +99,11 @@ configs:
|
|||||||
argo-helm:
|
argo-helm:
|
||||||
type: helm
|
type: helm
|
||||||
url: https://argoproj.github.io/argo-helm
|
url: https://argoproj.github.io/argo-helm
|
||||||
|
{{- if .Values.argocd.webhookSecret }}
|
||||||
|
secret:
|
||||||
|
extra:
|
||||||
|
webhook.gitea.secret: {{ .Values.argocd.webhookSecret }}
|
||||||
|
{{- end }}
|
||||||
# UI changes based on env
|
# UI changes based on env
|
||||||
styles: |
|
styles: |
|
||||||
/* blue, orange, red depending on env */
|
/* blue, orange, red depending on env */
|
||||||
@@ -129,29 +134,11 @@ controller:
|
|||||||
cpu: {{ .Values.argocd.resources.controller.cpu | default "250m" }}
|
cpu: {{ .Values.argocd.resources.controller.cpu | default "250m" }}
|
||||||
memory: {{ .Values.argocd.resources.controller.memory | default "1000Mi" }}
|
memory: {{ .Values.argocd.resources.controller.memory | default "1000Mi" }}
|
||||||
|
|
||||||
# Mount azure ca as file for SAML auth
|
|
||||||
dex:
|
dex:
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true
|
enabled: true
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: true
|
enabled: true
|
||||||
{{- with .Values.clusterConfig.oidc }}
|
|
||||||
env:
|
|
||||||
{{- range . }}
|
|
||||||
{{- if eq .group "devel" }}
|
|
||||||
- name: {{ .name | replace "-" "_" }}_client_secret
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ .secret_ref.name }}
|
|
||||||
key: client_secret
|
|
||||||
- name: {{ .name | replace "-" "_" }}_client_id
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ .secret_ref.name }}
|
|
||||||
key: client_id
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
metrics:
|
metrics:
|
||||||
|
|||||||
@@ -3,10 +3,6 @@ kind: ConfigMap
|
|||||||
metadata:
|
metadata:
|
||||||
name: staging-atlantis-actor-config
|
name: staging-atlantis-actor-config
|
||||||
data:
|
data:
|
||||||
XTRACT_IMAGE: "git.oceanbox.io/oceanbox/katamari/excavator:v1.5.1"
|
TEMPORAL_ADDRESS: "temporal-grpc.ekman.oceanbox.io:443"
|
||||||
XTRACT_QUEUE: "dev-queue"
|
TEMPORAL_TLS: "true"
|
||||||
PLUME_IMAGE: "git.oceanbox.io/oceanbox/katamari/plume:v1.5.1"
|
|
||||||
PLUME_QUEUE: "dev-queue"
|
|
||||||
TEMPORAL_ADDRESS: "temporal-frontend.temporal:7233"
|
|
||||||
TEMPORAL_NAMESPACE: "staging-atlantis"
|
TEMPORAL_NAMESPACE: "staging-atlantis"
|
||||||
TEMPORAL_TASK_QUEUE: "atlantis"
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{{- if .Values.clusterConfig.cilium.enabled }}
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-temporal
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: atlantis
|
||||||
|
egress:
|
||||||
|
- toFQDNs:
|
||||||
|
- matchName: temporal-grpc.ekman.oceanbox.io
|
||||||
|
toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: "443"
|
||||||
|
protocol: TCP
|
||||||
|
{{- end }}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
repository: git.oceanbox.io/oceanbox/poseidon/atlantis
|
||||||
tag: 6442206c-debug
|
tag: 29de0c67-debug
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/app-id: "staging-atlantis"
|
dapr.io/app-id: "staging-atlantis"
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -38,4 +38,4 @@ volumeMounts:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
subPath: appsettings.json
|
subPath: appsettings.json
|
||||||
image:
|
image:
|
||||||
tag: 6442206c-debug
|
tag: 9138d67d-debug
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
fullnameOverride: staging-docs
|
fullnameOverride: staging-docs
|
||||||
image:
|
image:
|
||||||
tag: "72b01c0b-debug"
|
tag: "511c128c-debug"
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
className: "haproxy"
|
className: "haproxy"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ replicaCount: 1
|
|||||||
image:
|
image:
|
||||||
registry: "docker.gitea.com"
|
registry: "docker.gitea.com"
|
||||||
repository: gitea
|
repository: gitea
|
||||||
tag: "1.26.2"
|
tag: "1.26.4"
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
@@ -75,10 +75,11 @@ gitea:
|
|||||||
USERNAME: "nickname"
|
USERNAME: "nickname"
|
||||||
mailer:
|
mailer:
|
||||||
ENABLED: true
|
ENABLED: true
|
||||||
FROM: "gitea@oceanbox.io"
|
FROM: "\"Oceanbox Gitea\" <no-reply@oceanbox.io>"
|
||||||
PROTOCOL: "smtp"
|
PROTOCOL: "smtp+starttls"
|
||||||
SMTP_ADDR: "postfix-mail.postfix.svc.cluster.local"
|
SMTP_ADDR: "mx.itpartner.no"
|
||||||
SMTP_PORT: 587
|
SMTP_PORT: 587
|
||||||
|
USER: "no-reply@oceanbox.io"
|
||||||
database:
|
database:
|
||||||
DB_TYPE: postgres
|
DB_TYPE: postgres
|
||||||
MAX_OPEN_CONNS: 90
|
MAX_OPEN_CONNS: 90
|
||||||
@@ -104,6 +105,11 @@ gitea:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: gitea-s3
|
name: gitea-s3
|
||||||
key: secret_key
|
key: secret_key
|
||||||
|
- name: GITEA__mailer__PASSWD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: gitea-smtp
|
||||||
|
key: password
|
||||||
- name: GITEA__DATABASE__PASSWD
|
- name: GITEA__DATABASE__PASSWD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ configMaps:
|
|||||||
"elianne.ersdal@oceanbox.io",
|
"elianne.ersdal@oceanbox.io",
|
||||||
"hanskristian.djuve@oceanbox.io",
|
"hanskristian.djuve@oceanbox.io",
|
||||||
"erlend.mundal@oceanbox.io",
|
"erlend.mundal@oceanbox.io",
|
||||||
|
"hanna.fagrell@oceanbox.io",
|
||||||
],
|
],
|
||||||
"group:manager": [
|
"group:manager": [
|
||||||
"svenn.hanssen@oceanbox.io",
|
"svenn.hanssen@oceanbox.io",
|
||||||
@@ -130,7 +131,6 @@ configMaps:
|
|||||||
"group:intern": [
|
"group:intern": [
|
||||||
"haavahak@stud.ntnu.no",
|
"haavahak@stud.ntnu.no",
|
||||||
"haavahak@ntnu.no",
|
"haavahak@ntnu.no",
|
||||||
"hanna.fagrell@oceanbox.io",
|
|
||||||
],
|
],
|
||||||
"group:ceph": [
|
"group:ceph": [
|
||||||
"jonas.juselius@oceanbox.io",
|
"jonas.juselius@oceanbox.io",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
runAsGroup: 0
|
runAsGroup: 0
|
||||||
containers:
|
containers:
|
||||||
- name: ingest-py
|
- name: ingest-py
|
||||||
image: git.oceanbox.io/oceanbox/churn/ingest-py:v2.3.11
|
image: git.oceanbox.io/oceanbox/churn/ingest-py:v0.1.6
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 512Mi
|
memory: 512Mi
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
runAsGroup: 0
|
runAsGroup: 0
|
||||||
containers:
|
containers:
|
||||||
- name: ingest
|
- name: ingest
|
||||||
image: git.oceanbox.io/oceanbox/churn/ingest:v2.3.11
|
image: git.oceanbox.io/oceanbox/churn/ingest:v0.1.6
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 512Mi
|
memory: 512Mi
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
tag: "7080a0bd-debug"
|
tag: "e926ae4b-debug"
|
||||||
env:
|
env:
|
||||||
- name: APP_VERSION
|
- name: APP_VERSION
|
||||||
value: "0.0.0"
|
value: "0.0.0"
|
||||||
|
|||||||
@@ -16,9 +16,6 @@ spec:
|
|||||||
- ports:
|
- ports:
|
||||||
- port: "7233"
|
- port: "7233"
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
# k8s API server (for batch/v1 Job create/poll/delete)
|
|
||||||
- toEntities:
|
|
||||||
- kube-apiserver
|
|
||||||
# DNS
|
# DNS
|
||||||
- toEndpoints:
|
- toEndpoints:
|
||||||
- matchLabels:
|
- matchLabels:
|
||||||
@@ -30,15 +27,11 @@ spec:
|
|||||||
protocol: UDP
|
protocol: UDP
|
||||||
- port: "53"
|
- port: "53"
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
# RabbitMQ on oceanbox: NodePorts (30672/31672) or MetalLB IPs on standard port 5672
|
# OTel collector (tos1 LoadBalancer 10.255.241.12) for Temporal traces, exported cross-cluster
|
||||||
- toCIDR:
|
- toCIDR:
|
||||||
- 10.255.241.0/24
|
- 10.255.241.12/32
|
||||||
toPorts:
|
toPorts:
|
||||||
- ports:
|
- ports:
|
||||||
- port: "5672"
|
- port: "4317"
|
||||||
protocol: TCP
|
|
||||||
- port: "30672"
|
|
||||||
protocol: TCP
|
|
||||||
- port: "31672"
|
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: pv-proteus-ceph-archives
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
csi:
|
||||||
|
driver: rook-ceph.cephfs.csi.ceph.com
|
||||||
|
nodeStageSecretRef:
|
||||||
|
name: rook-csi-cephfs-node
|
||||||
|
namespace: rook-ceph
|
||||||
|
volumeAttributes:
|
||||||
|
clusterID: rook-ceph
|
||||||
|
fsName: data
|
||||||
|
rootPath: /
|
||||||
|
staticVolume: "true"
|
||||||
|
volumeHandle: pv-proteus-ceph-archives
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
volumeMode: Filesystem
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: proteus-ceph-archives
|
||||||
|
namespace: proteus
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
storageClassName: ""
|
||||||
|
volumeMode: Filesystem
|
||||||
|
volumeName: pv-proteus-ceph-archives
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
# TODO: the SA the temporal-worker-controller assigns to the pod (assumed `default`).
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
name: proteus-dev-queue
|
|
||||||
namespace: dev-queue
|
|
||||||
rules:
|
|
||||||
- apiGroups: ["batch"]
|
|
||||||
resources: ["jobs"]
|
|
||||||
verbs: ["create", "delete", "get", "list", "watch"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["pods", "pods/log"]
|
|
||||||
verbs: ["get", "list"]
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: proteus-dev-queue
|
|
||||||
namespace: dev-queue
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: proteus-dev-queue
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: default
|
|
||||||
namespace: proteus
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: Role
|
|
||||||
metadata:
|
|
||||||
name: proteus-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
rules:
|
|
||||||
- apiGroups: ["batch"]
|
|
||||||
resources: ["jobs"]
|
|
||||||
verbs: ["create", "delete", "get", "list", "watch"]
|
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["pods", "pods/log"]
|
|
||||||
verbs: ["get", "list"]
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: proteus-prod-queue
|
|
||||||
namespace: prod-queue
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: proteus-prod-queue
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: default
|
|
||||||
namespace: proteus
|
|
||||||
@@ -1,14 +1,10 @@
|
|||||||
# TEMPORAL_NAMESPACE : {env}-atlantis
|
|
||||||
# ARCHIVE_PVC : the queue's archive PVC (prod+beta -> prod-queue, staging -> dev-queue)
|
|
||||||
# Status/inbox/quota now flow via Temporal activities to the Atlantis notify worker; no RabbitMQ.
|
|
||||||
# ---
|
|
||||||
# apiVersion: temporal.io/v1alpha1
|
# apiVersion: temporal.io/v1alpha1
|
||||||
# kind: WorkerDeployment
|
# kind: WorkerDeployment
|
||||||
# metadata:
|
# metadata:
|
||||||
# name: proteus-prod
|
# name: proteus-prod
|
||||||
# namespace: proteus
|
# namespace: proteus
|
||||||
# spec:
|
# spec:
|
||||||
# replicas: 1
|
# replicas: 2
|
||||||
# workerOptions:
|
# workerOptions:
|
||||||
# temporalNamespace: prod-atlantis
|
# temporalNamespace: prod-atlantis
|
||||||
# connectionRef:
|
# connectionRef:
|
||||||
@@ -21,14 +17,20 @@
|
|||||||
# securityContext:
|
# securityContext:
|
||||||
# runAsUser: 0
|
# runAsUser: 0
|
||||||
# runAsGroup: 0
|
# runAsGroup: 0
|
||||||
|
# volumes:
|
||||||
|
# - name: archives
|
||||||
|
# persistentVolumeClaim:
|
||||||
|
# claimName: proteus-ceph-archives
|
||||||
# containers:
|
# containers:
|
||||||
# - name: proteus
|
# - name: proteus
|
||||||
# image: git.oceanbox.io/oceanbox/poseidon/proteus:CHANGEME
|
# image: git.oceanbox.io/oceanbox/poseidon/proteus:v2.17.0
|
||||||
# resources:
|
# resources:
|
||||||
# requests:
|
# requests:
|
||||||
# memory: 256Mi
|
# cpu: "1"
|
||||||
# limits:
|
|
||||||
# memory: 1Gi
|
# memory: 1Gi
|
||||||
|
# limits:
|
||||||
|
# cpu: "2"
|
||||||
|
# memory: 4Gi
|
||||||
# env:
|
# env:
|
||||||
# - name: TEMPORAL_TASK_QUEUES
|
# - name: TEMPORAL_TASK_QUEUES
|
||||||
# value: plume,xtract
|
# value: plume,xtract
|
||||||
@@ -38,6 +40,32 @@
|
|||||||
# value: prod
|
# value: prod
|
||||||
# - name: ARCHIVE_PVC
|
# - name: ARCHIVE_PVC
|
||||||
# value: prod-queue-ceph-archives
|
# 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
|
# apiVersion: temporal.io/v1alpha1
|
||||||
# kind: WorkerDeployment
|
# kind: WorkerDeployment
|
||||||
@@ -73,10 +101,9 @@
|
|||||||
# value: beta-atlantis
|
# value: beta-atlantis
|
||||||
# - name: APP_ENV
|
# - name: APP_ENV
|
||||||
# value: beta
|
# value: beta
|
||||||
# # beta schedules into prod-queue (same as prod), so the same archive PVC.
|
|
||||||
# - name: ARCHIVE_PVC
|
# - name: ARCHIVE_PVC
|
||||||
# value: prod-queue-ceph-archives
|
# value: prod-queue-ceph-archives
|
||||||
# ---
|
---
|
||||||
apiVersion: temporal.io/v1alpha1
|
apiVersion: temporal.io/v1alpha1
|
||||||
kind: WorkerDeployment
|
kind: WorkerDeployment
|
||||||
metadata:
|
metadata:
|
||||||
@@ -96,20 +123,48 @@ spec:
|
|||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
runAsGroup: 0
|
runAsGroup: 0
|
||||||
|
volumes:
|
||||||
|
- name: archives
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: proteus-ceph-archives
|
||||||
containers:
|
containers:
|
||||||
- name: proteus
|
- name: proteus
|
||||||
image: git.oceanbox.io/oceanbox/poseidon/proteus:v2.17.0
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 256Mi
|
cpu: 500m
|
||||||
limits:
|
|
||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
|
limits:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4Gi
|
||||||
env:
|
env:
|
||||||
- name: TEMPORAL_TASK_QUEUES
|
- name: TEMPORAL_TASK_QUEUES
|
||||||
value: plume,xtract
|
value: plume,xtract
|
||||||
- name: TEMPORAL_NAMESPACE
|
- name: TEMPORAL_NAMESPACE
|
||||||
value: staging-atlantis
|
value: staging-atlantis
|
||||||
- name: APP_ENV
|
- name: MAX_CONCURRENT_ACTIVITIES
|
||||||
value: staging
|
value: "10"
|
||||||
- name: ARCHIVE_PVC
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: dev-queue-ceph-archives
|
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,3 @@
|
|||||||
|
image:
|
||||||
|
repository: git.oceanbox.io/oceanbox/poseidon/proteus
|
||||||
|
tag: 7b97e45c-debug
|
||||||
@@ -22,9 +22,4 @@
|
|||||||
value:
|
value:
|
||||||
secretRef:
|
secretRef:
|
||||||
name: staging-sorcerer-env
|
name: staging-sorcerer-env
|
||||||
- op: add
|
|
||||||
path: /spec/template/spec/containers/0/envFrom/-
|
|
||||||
value:
|
|
||||||
configMapRef:
|
|
||||||
name: staging-sorcerer-kueue-config
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: staging-sorcerer-kueue-config
|
|
||||||
data:
|
|
||||||
KUEUE_NAMESPACE: "dev-queue"
|
|
||||||
KUEUE_ARCHIVE_PVC: "dev-queue-ceph-archives"
|
|
||||||
@@ -19,7 +19,6 @@ resources:
|
|||||||
- configurations.yaml
|
- configurations.yaml
|
||||||
- keyvault.yaml
|
- keyvault.yaml
|
||||||
- rbac.yaml
|
- rbac.yaml
|
||||||
- kueue-config.yaml
|
|
||||||
- secretstore.yaml
|
- secretstore.yaml
|
||||||
- statestore.yaml
|
- statestore.yaml
|
||||||
- tracing.yaml
|
- tracing.yaml
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ rules:
|
|||||||
- ""
|
- ""
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- staging-sorcerer-appsettings
|
- staging-sorcerer-appsettings
|
||||||
- staging-sorcerer-kueue-config
|
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
@@ -24,24 +23,6 @@ rules:
|
|||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- watch
|
- watch
|
||||||
- apiGroups:
|
|
||||||
- jobset.x-k8s.io
|
|
||||||
resources:
|
|
||||||
- jobsets
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
- pods/log
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
repository: git.oceanbox.io/oceanbox/poseidon/sorcerer
|
||||||
tag: 6442206c-debug
|
tag: 9138d67d-debug
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/enabled: "true"
|
dapr.io/enabled: "true"
|
||||||
dapr.io/app-id: "staging-sorcerer"
|
dapr.io/app-id: "staging-sorcerer"
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{{- if .Values.clusterConfig.cilium.enabled }}
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumClusterwideNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-itpartner-mail-egress
|
||||||
|
spec:
|
||||||
|
endpointSelector: {}
|
||||||
|
egress:
|
||||||
|
- toFQDNs:
|
||||||
|
- matchName: mx.itpartner.no
|
||||||
|
toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: "587"
|
||||||
|
protocol: TCP
|
||||||
|
- port: "465"
|
||||||
|
protocol: TCP
|
||||||
|
{{- end }}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
temporal:
|
temporal:
|
||||||
enabled: true
|
enabled: true
|
||||||
autosync: false
|
autosync: true
|
||||||
ingress: true
|
ingress: true
|
||||||
grpcIngress: true
|
grpcIngress: true
|
||||||
workerController: true
|
workerController: true
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ metadata:
|
|||||||
cert-manager.io/cluster-issuer: {{ .Values.clusterConfig.ingress_clusterissuer }}
|
cert-manager.io/cluster-issuer: {{ .Values.clusterConfig.ingress_clusterissuer }}
|
||||||
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "24k"
|
||||||
oceanbox.io/expose: internal
|
oceanbox.io/expose: internal
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: temporal
|
app.kubernetes.io/name: temporal
|
||||||
|
|||||||
@@ -60,4 +60,19 @@ spec:
|
|||||||
protocol: UDP
|
protocol: UDP
|
||||||
- port: "53"
|
- port: "53"
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-web-oidc-login
|
||||||
|
namespace: temporal
|
||||||
|
spec:
|
||||||
|
description: Allow Temporal Web UI OIDC login to Entra ID
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/component: web
|
||||||
|
egress:
|
||||||
|
- toFQDNs:
|
||||||
|
- matchName: login.microsoftonline.com
|
||||||
|
- matchPattern: '*.microsoftonline.com'
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -12,9 +12,20 @@ spec:
|
|||||||
initdb:
|
initdb:
|
||||||
database: temporal
|
database: temporal
|
||||||
owner: temporal
|
owner: temporal
|
||||||
|
# headroom for ~240 server connections (30/pod x 8 pods) plus CNPG's own
|
||||||
|
postgresql:
|
||||||
|
parameters:
|
||||||
|
max_connections: "300"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 1Gi
|
||||||
|
limits:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 2Gi
|
||||||
storage:
|
storage:
|
||||||
resizeInUseVolumes: true
|
resizeInUseVolumes: true
|
||||||
size: 10Gi
|
size: 20Gi
|
||||||
---
|
---
|
||||||
apiVersion: postgresql.cnpg.io/v1
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
kind: Database
|
kind: Database
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
server:
|
server:
|
||||||
|
replicaCount: 2
|
||||||
config:
|
config:
|
||||||
|
logLevel: "info"
|
||||||
persistence:
|
persistence:
|
||||||
defaultStore: default
|
defaultStore: default
|
||||||
visibilityStore: visibility
|
visibilityStore: visibility
|
||||||
|
# immutable after first deploy
|
||||||
numHistoryShards: 512
|
numHistoryShards: 512
|
||||||
datastores:
|
datastores:
|
||||||
default:
|
default:
|
||||||
@@ -20,7 +23,7 @@ server:
|
|||||||
maxConns: 20
|
maxConns: 20
|
||||||
maxIdleConns: 20
|
maxIdleConns: 20
|
||||||
maxConnLifetime: "1h"
|
maxConnLifetime: "1h"
|
||||||
# TODO: migrate visibility to Elasticsearch for advanced visibility search.
|
# NOTE: Postgres 12+ gives advanced visibility; no Elasticsearch needed.
|
||||||
visibility:
|
visibility:
|
||||||
sql:
|
sql:
|
||||||
createDatabase: false
|
createDatabase: false
|
||||||
@@ -41,8 +44,129 @@ server:
|
|||||||
timerType: histogram
|
timerType: histogram
|
||||||
listenAddress: "0.0.0.0:9090"
|
listenAddress: "0.0.0.0:9090"
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
interval: 30s
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 512Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 1Gi
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: temporal
|
||||||
|
app.kubernetes.io/instance: temporal
|
||||||
|
app.kubernetes.io/component: frontend
|
||||||
|
|
||||||
|
history:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 768Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 1536Mi
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: temporal
|
||||||
|
app.kubernetes.io/instance: temporal
|
||||||
|
app.kubernetes.io/component: history
|
||||||
|
|
||||||
|
matching:
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: temporal
|
||||||
|
app.kubernetes.io/instance: temporal
|
||||||
|
app.kubernetes.io/component: matching
|
||||||
|
|
||||||
|
worker:
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: temporal
|
||||||
|
app.kubernetes.io/instance: temporal
|
||||||
|
app.kubernetes.io/component: worker
|
||||||
|
|
||||||
|
# no persistent debug pod; use temporalio/admin-tools on demand
|
||||||
|
admintools:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
web:
|
web:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
replicaCount: 2
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 128Mi
|
||||||
|
limits:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 256Mi
|
||||||
|
podDisruptionBudget:
|
||||||
|
maxUnavailable: 1
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxSkew: 1
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
whenUnsatisfiable: ScheduleAnyway
|
||||||
|
labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: temporal
|
||||||
|
app.kubernetes.io/instance: temporal
|
||||||
|
app.kubernetes.io/component: web
|
||||||
|
# NOTE: native OIDC SSO via Entra ID (same oceanbox-oidc secret as Grafana); gates UI login only
|
||||||
|
additionalEnv:
|
||||||
|
- name: TEMPORAL_AUTH_ENABLED
|
||||||
|
value: "true"
|
||||||
|
- name: TEMPORAL_AUTH_TYPE
|
||||||
|
value: "oidc"
|
||||||
|
- name: TEMPORAL_AUTH_PROVIDER_URL
|
||||||
|
value: "https://login.microsoftonline.com/3f737008-e9a0-4485-9d27-40329d288089/v2.0"
|
||||||
|
- name: TEMPORAL_AUTH_CLIENT_ID
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: oceanbox-oidc
|
||||||
|
key: client_id
|
||||||
|
- name: TEMPORAL_AUTH_CLIENT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: oceanbox-oidc
|
||||||
|
key: client_secret
|
||||||
|
- name: TEMPORAL_AUTH_CALLBACK_URL
|
||||||
|
value: "https://temporal.ekman.oceanbox.io/auth/sso/callback"
|
||||||
|
- name: TEMPORAL_AUTH_SCOPES
|
||||||
|
value: "openid,profile,email,offline_access"
|
||||||
|
|
||||||
schema:
|
schema:
|
||||||
useHelmHooks: false
|
useHelmHooks: false
|
||||||
|
# NOTE: run as an ArgoCD sync hook so the controller-mutated Job isn't diffed and stays OutOfSync forever
|
||||||
|
jobAnnotations:
|
||||||
|
argocd.argoproj.io/hook: Sync
|
||||||
|
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
uptermd:
|
||||||
|
enabled: true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
uptermd:
|
||||||
|
enabled: false
|
||||||
|
autosync: false
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- _manifest.yaml
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
patches:
|
||||||
|
- target:
|
||||||
|
kind: Ingress
|
||||||
|
name: uptermd
|
||||||
|
patch: |
|
||||||
|
$patch: delete
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: uptermd
|
||||||
|
- target:
|
||||||
|
group: cert-manager.io
|
||||||
|
kind: Issuer
|
||||||
|
name: uptermd-letsencrypt
|
||||||
|
patch: |
|
||||||
|
$patch: delete
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Issuer
|
||||||
|
metadata:
|
||||||
|
name: uptermd-letsencrypt
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: uptermd
|
||||||
|
namespace: uptermd
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: uptermd
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: ca-issuer
|
||||||
|
haproxy.org/backend-protocol: h1
|
||||||
|
haproxy.org/timeout-tunnel: "3600s"
|
||||||
|
haproxy.org/timeout-client: "3600s"
|
||||||
|
haproxy.org/timeout-server: "3600s"
|
||||||
|
spec:
|
||||||
|
ingressClassName: haproxy
|
||||||
|
rules:
|
||||||
|
- host: upterm.hel1.obx
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: uptermd
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- upterm.hel1.obx
|
||||||
|
secretName: uptermd-tls
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{{- if .Values.clusterConfig.argo.enabled }}
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: uptermd
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: uptermd
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
sources:
|
||||||
|
- repoURL: {{ .Values.clusterConfig.manifests }}
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: helmfile.d
|
||||||
|
plugin:
|
||||||
|
name: helmfile-cmp
|
||||||
|
env:
|
||||||
|
- name: CLUSTER_NAME
|
||||||
|
value: {{ .Values.clusterConfig.cluster }}
|
||||||
|
- name: HELMFILE_ENVIRONMENT
|
||||||
|
value: default
|
||||||
|
- name: HELMFILE_FILE_PATH
|
||||||
|
value: uptermd.yaml.gotmpl
|
||||||
|
project: sys
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
component: sys
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
{{- if .Values.uptermd.autosync }}
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
websocket:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 512Mi
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 512Mi
|
||||||
|
|
||||||
|
# No SSH host key is provided, so uptermd generates an ephemeral one on each
|
||||||
|
# pod start
|
||||||
|
host_keys: {}
|
||||||
|
|
||||||
|
authorized_keys: []
|
||||||
Reference in New Issue
Block a user