Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
8de6e79647
|
|||
|
bcbb04d1f7
|
|||
|
f9504c95e3
|
|||
|
7057806e01
|
|||
|
de5ce17f28
|
|||
| a47cf689fb | |||
| 888daa7f1e | |||
| eaeb988aab | |||
| edd3df84e5 | |||
| 526e24cc66 | |||
| 11d4b37f4d | |||
| cabfceadd1 | |||
| 2bfeaf7d67 | |||
|
1e1669fcd6
|
|||
| 3f3a4255b5 | |||
| 877cc612a0 | |||
|
a18e7d2e23
|
|||
| de9388691a | |||
| 9c6a7e01f4 | |||
| ae4c7f3bb4 | |||
| 4442bc923a | |||
| ddfd36fb3a | |||
| 46820439e9 | |||
| 64c081f629 | |||
| c7958cbc6b | |||
| 730b84e469 | |||
| 2785bf7907 | |||
|
72079fe81b
|
|||
|
b58d457d90
|
|||
|
86d2d58c3c
|
|||
| 5030b4b8c5 | |||
| 7f39e2baf7 | |||
| 052edfa4e4 | |||
| 9349978f6e | |||
| 7cf6cf1a55 | |||
| 97d398c637 | |||
| 297d998c96 | |||
| 14524fb308 | |||
| b4970a8550 | |||
| 7705fc228c | |||
| 12d2587e9b | |||
| f030045694 | |||
| 4898676dc5 | |||
| 21ffb79401 | |||
| e30bdc54be | |||
| 677c37a6f7 | |||
| fb19b12f08 | |||
| 22dadc5f98 | |||
| 01b9d06509 | |||
| cfd1d1b25d | |||
| b347410856 | |||
| 5bcd21db11 | |||
| 86520433ea | |||
| 6ec1c19f80 | |||
| fa0123336e | |||
|
7f476a4650
|
|||
|
90469dbf85
|
|||
|
d7bd0d50b5
|
|||
| abb3203eea | |||
| ad10efd78e | |||
| fdc4702fbd | |||
| b2c41a7b0e | |||
| 5e1024160a | |||
| 06bd4f3e80 | |||
|
12360be8ba
|
|||
|
38b13658a9
|
|||
|
bb0256ff3d
|
|||
|
02497db6b2
|
|||
|
9040a373a6
|
|||
|
51bb191001
|
|||
|
da271376ba
|
|||
|
62b13cbaa9
|
|||
|
77a5af1c37
|
|||
|
4ef99c0ae4
|
|||
|
654bf18126
|
|||
|
39e393e222
|
|||
| 71d9109a7b | |||
| f09ef6fe77 | |||
| 2c6d303ba3 | |||
| 902cb061af | |||
| db4e3ce144 | |||
| 1301ce012f | |||
| 9554e8694a | |||
| 6623c4557e | |||
| 4f176674ac | |||
| e093484918 | |||
| 5541565c4b | |||
| ed531af09a | |||
| cb5abae670 | |||
| 28f3c853a4 | |||
| 36d4305317 | |||
| bea2855df2 | |||
| fff895eb64 | |||
| b1bfe88fc7 | |||
| fe1e97d484 | |||
| 0d68590639 | |||
| bc2f2012b0 | |||
| 0b32b0261c | |||
| 6d1758ca52 | |||
| 7a87a49108 | |||
| 817e9ba478 | |||
| 513f78d444 | |||
| dbd0ae7b72 | |||
| e86436d4c7 | |||
| 01c3c3880d | |||
| f8e18cfc41 | |||
| 163452b8c6 | |||
| 24977a9a77 | |||
| 955fcfc073 | |||
| 2520f06b3b | |||
| 32b991e8e4 | |||
| 2d9318ce9d | |||
| 5f24664961 | |||
| 4303b7c29f | |||
| bdc618cf50 | |||
| 5ddb1a0f8c | |||
| 838c7f6b9d | |||
| 24ccf8ab1a | |||
| 17fd471973 | |||
| 5089fb441b | |||
| 5a2954cc6a | |||
| 80c2c82e32 | |||
| fd50da5b62 | |||
| b07cf0f6c8 | |||
| 27218a7970 | |||
| c007e2d796 | |||
| 67312b950c | |||
| 67d46b0bda | |||
| 8f2233a608 | |||
| 43d4ad90d6 |
@@ -5,5 +5,8 @@ watch_file nix/sources.json
|
|||||||
# Load .env file if it exists
|
# Load .env file if it exists
|
||||||
dotenv_if_exists
|
dotenv_if_exists
|
||||||
|
|
||||||
|
# Set npins dir
|
||||||
|
export NPINS_DIRECTORY="nix"
|
||||||
|
|
||||||
# Activate development shell
|
# Activate development shell
|
||||||
use nix
|
use nix
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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: v1.33.0
|
version: v1.35.2
|
||||||
# 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: v1.33.0
|
appVersion: v1.35.2
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: registry.gitlab.com/oceanbox/poseidon/atlantis
|
repository: registry.gitlab.com/oceanbox/poseidon/atlantis
|
||||||
tag: v1.33.0
|
tag: v1.35.2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: codex
|
name: codex
|
||||||
description: A Helm chart for Kubernetes
|
description: A Helm chart for Kubernetes
|
||||||
|
|
||||||
# A chart can be either an 'application' or a 'library' chart.
|
# A chart can be either an 'application' or a 'library' chart.
|
||||||
#
|
#
|
||||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||||
@@ -11,14 +10,12 @@ description: A Helm chart for Kubernetes
|
|||||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||||
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.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.0.1
|
version: v1.35.2
|
||||||
|
|
||||||
# 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: "0.0.0-alpha.1"
|
appVersion: "v1.35.2"
|
||||||
|
|||||||
+12
-25
@@ -4,22 +4,19 @@
|
|||||||
|
|
||||||
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
||||||
image:
|
image:
|
||||||
repository: registry.gitlab.com/oceanbox/poseidon/codex
|
repository: registry.gitlab.com/oceanbox/poseidon/codex
|
||||||
# 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: v1.33.2
|
tag: v1.35.2
|
||||||
|
|
||||||
# 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
|
||||||
# This is to override the chart name.
|
# This is to override the chart name.
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
|
|
||||||
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
|
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
# Specifies whether a service account should be created
|
# Specifies whether a service account should be created
|
||||||
@@ -31,47 +28,41 @@ serviceAccount:
|
|||||||
# The name of the service account to use.
|
# The name of the service account to use.
|
||||||
# If not set and create is true, a name is generated using the fullname template
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
name: ""
|
name: ""
|
||||||
|
|
||||||
# This is for setting Kubernetes Annotations to a Pod.
|
# This is for setting Kubernetes Annotations to a Pod.
|
||||||
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
# This is for setting Kubernetes Labels to a Pod.
|
# This is for setting Kubernetes Labels to a Pod.
|
||||||
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
fsGroup: 2000
|
fsGroup: 2000
|
||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
capabilities:
|
capabilities:
|
||||||
drop:
|
drop:
|
||||||
- ALL
|
- ALL
|
||||||
readOnlyRootFilesystem: false
|
readOnlyRootFilesystem: false
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
|
|
||||||
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
|
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
|
||||||
service:
|
service:
|
||||||
# This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
# This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
|
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
|
||||||
port: 8085
|
port: 8085
|
||||||
|
|
||||||
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
resources: {}
|
resources: {}
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
# limits:
|
# limits:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
||||||
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
@@ -82,7 +73,6 @@ readinessProbe:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: http
|
port: http
|
||||||
|
|
||||||
# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
|
# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: false
|
||||||
@@ -90,7 +80,6 @@ autoscaling:
|
|||||||
maxReplicas: 100
|
maxReplicas: 100
|
||||||
targetCPUUtilizationPercentage: 80
|
targetCPUUtilizationPercentage: 80
|
||||||
# targetMemoryUtilizationPercentage: 80
|
# targetMemoryUtilizationPercentage: 80
|
||||||
|
|
||||||
# Additional volumes on the output Deployment definition.
|
# Additional volumes on the output Deployment definition.
|
||||||
volumes: []
|
volumes: []
|
||||||
# - name: foo
|
# - name: foo
|
||||||
@@ -105,7 +94,5 @@ volumeMounts: []
|
|||||||
# readOnly: true
|
# readOnly: true
|
||||||
|
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
|
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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: v1.33.0
|
version: v1.35.2
|
||||||
# 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: v1.33.0
|
appVersion: v1.35.2
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
repository: registry.gitlab.com/oceanbox/poseidon/sorcerer
|
repository: registry.gitlab.com/oceanbox/poseidon/sorcerer
|
||||||
tag: v1.33.0
|
tag: v1.35.2
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
init:
|
init:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ releases:
|
|||||||
- name: dragonfly
|
- name: dragonfly
|
||||||
namespace: dragonfly
|
namespace: dragonfly
|
||||||
chart: dragonfly/dragonfly-operator
|
chart: dragonfly/dragonfly-operator
|
||||||
version: v1.3.0
|
version: v1.3.1
|
||||||
condition: dragonfly.enabled
|
condition: dragonfly.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/dragonfly/values/dragonfly.yaml.gotmpl
|
- ../values/dragonfly/values/dragonfly.yaml.gotmpl
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
bases:
|
||||||
|
- ../envs/environments.yaml.gotmpl
|
||||||
|
|
||||||
|
repositories:
|
||||||
|
- name: stevehipwell
|
||||||
|
url: 'https://stevehipwell.github.io/helm-charts/'
|
||||||
|
|
||||||
|
commonLabels:
|
||||||
|
tier: system
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: nexus3
|
||||||
|
namespace: nexus
|
||||||
|
chart: stevehipwell/nexus3
|
||||||
|
version: 5.9.0
|
||||||
|
condition: nexus.enabled
|
||||||
|
values:
|
||||||
|
- ../values/nexus/values/nexus.yaml.gotmpl
|
||||||
|
- ../values/nexus/values/nexus-{{ .Environment.Name }}.yaml.gotmpl
|
||||||
|
postRenderer: ../bin/kustomizer
|
||||||
|
postRendererArgs:
|
||||||
|
- ../values/nexus/kustomize/{{ .Environment.Name }}
|
||||||
|
missingFileHandler: Info
|
||||||
|
- name: manifests
|
||||||
|
namespace: nexus
|
||||||
|
chart: manifests
|
||||||
|
condition: nexus.enabled
|
||||||
|
missingFileHandler: Info
|
||||||
|
values:
|
||||||
|
- ../values/env.yaml
|
||||||
|
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
|
- ../values/nexus/env.yaml.gotmpl
|
||||||
|
- ../values/nexus/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/nexus/manifests
|
||||||
|
- manifests
|
||||||
@@ -11,15 +11,15 @@ commonLabels:
|
|||||||
releases:
|
releases:
|
||||||
- name: {{ .Environment.Name }}-sorcerer
|
- name: {{ .Environment.Name }}-sorcerer
|
||||||
namespace: {{ .Environment.Name }}-sorcerer
|
namespace: {{ .Environment.Name }}-sorcerer
|
||||||
#chart: oceanbox/sorcerer
|
|
||||||
chart: ../charts/sorcerer
|
chart: ../charts/sorcerer
|
||||||
condition: sorcerer.enabled
|
condition: sorcerer.enabled
|
||||||
values:
|
values:
|
||||||
- ../values/sorcerer/values/values.yaml
|
- ../values/sorcerer/values/values.yaml
|
||||||
- ../values/sorcerer/values/values-{{ .Environment.Name }}.yaml
|
- ../values/sorcerer/values/values-{{ .Environment.Name }}.yaml
|
||||||
|
- ../values/sorcerer/values/values-{{ .Environment.Name }}-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
postRenderer: ../bin/kustomizer
|
postRenderer: ../bin/kustomizer
|
||||||
postRendererArgs:
|
postRendererArgs:
|
||||||
- ../values/sorcerer/kustomize/{{ .Environment.Name }}
|
- ../values/sorcerer/kustomize/{{ .Environment.Name }}-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}
|
||||||
missingFileHandler: Info
|
missingFileHandler: Info
|
||||||
- name: manifests
|
- name: manifests
|
||||||
namespace: {{ .Environment.Name }}-sorcerer
|
namespace: {{ .Environment.Name }}-sorcerer
|
||||||
|
|||||||
+2
-2
@@ -3,8 +3,8 @@
|
|||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"type": "Channel",
|
"type": "Channel",
|
||||||
"name": "nixpkgs-unstable",
|
"name": "nixpkgs-unstable",
|
||||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre883899.02f2cb8e0feb/nixexprs.tar.xz",
|
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre903996.59b6c96beacc/nixexprs.tar.xz",
|
||||||
"hash": "0k4n6f873a4ls1mff6wck6z31kglgg8irwc5s3xsprrwbxdv7p58"
|
"hash": "0b0yr9d1xyfwgpaj68bimsbjjbj7yis4whjvkrfdycfnasdf0gf0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 5
|
"version": 5
|
||||||
|
|||||||
@@ -25,17 +25,16 @@ pkgs.mkShellNoCC {
|
|||||||
kubelogin-oidc
|
kubelogin-oidc
|
||||||
kubectl-rook-ceph
|
kubectl-rook-ceph
|
||||||
|
|
||||||
# linkerd
|
# other tools
|
||||||
step-cli
|
step-cli
|
||||||
linkerd
|
linkerd
|
||||||
|
|
||||||
# velero
|
|
||||||
velero
|
velero
|
||||||
|
cmctl
|
||||||
|
|
||||||
# dapr
|
# dapr
|
||||||
dapr-cli
|
dapr-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
ARGOCD_ENV_CLUSTER_NAME = "ekman";
|
ARGOCD_ENV_CLUSTER_NAME = "rossby";
|
||||||
HELM_GIT_ACCESS_TOKEN = "glpat-xxx";
|
HELM_GIT_ACCESS_TOKEN = "glpat-xxx";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ spec:
|
|||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: headscale
|
- namespace: headscale
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
|
- namespace: drupal
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
- namespace: otel
|
- namespace: otel
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: opentelemetry
|
- namespace: opentelemetry
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
"oidc": {
|
||||||
|
"issuer": "https://auth.oceanbox.io/realms/oceanbox",
|
||||||
|
"authorization_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/auth",
|
||||||
|
"token_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/token",
|
||||||
|
"jwks_uri": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/certs",
|
||||||
|
"userinfo_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/userinfo",
|
||||||
|
"end_session_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/logout",
|
||||||
|
"device_authorization_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/auth/device",
|
||||||
|
"clientId": "atlantis",
|
||||||
|
"clientSecret": "",
|
||||||
|
"scopes": [
|
||||||
|
"openid",
|
||||||
|
"email",
|
||||||
|
"offline_access",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"audiences": [
|
||||||
|
"atlantis",
|
||||||
|
"atlantis_dev",
|
||||||
|
"sorcerer",
|
||||||
|
"sorcerer_dev"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sso": {
|
||||||
|
"cookieDomain": ".oceanbox.io",
|
||||||
|
"cookieName": ".obx.beta",
|
||||||
|
"ttl": 12.0,
|
||||||
|
"signedOutRedirectUri": "https://maps.beta.oceanbox.io",
|
||||||
|
"realm": "atlantis",
|
||||||
|
"environment": "beta",
|
||||||
|
"keyStore": {
|
||||||
|
"kind": "azure",
|
||||||
|
"uri": "https://atlantis.blob.core.windows.net",
|
||||||
|
"key": "dataprotection-keys"
|
||||||
|
},
|
||||||
|
"keyVault": {
|
||||||
|
"kind": "azure",
|
||||||
|
"uri": "https://atlantisvault.vault.azure.net",
|
||||||
|
"key": "dataencryption-keys"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fga": {
|
||||||
|
"apiUrl": "http://prod-openfga.openfga.svc.cluster.local:8080",
|
||||||
|
"apiKey": "",
|
||||||
|
"storeId": "01JKTZXMP7ANN4GG2P5W8Y56M6",
|
||||||
|
"modelId": "01JKTZYMCZZBVSBG66W27XMW0A"
|
||||||
|
},
|
||||||
|
"sentryUrl": "https://b6e03cfc8e247297b89217b09341b4cb@o4509530141622272.ingest.de.sentry.io/4509530195492944",
|
||||||
|
"plainAuthUsers": [
|
||||||
|
{
|
||||||
|
"username": "admin",
|
||||||
|
"password": "en-to-tre-fire",
|
||||||
|
"groups": [ "/oceanbox" ],
|
||||||
|
"roles": [ "admin" ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"username": "sorcerer",
|
||||||
|
"password": "fire tre to en",
|
||||||
|
"groups": [ "/oceanbox" ],
|
||||||
|
"roles": [ "admin" ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"username": "archivist",
|
||||||
|
"password": "en-to-tre-fire",
|
||||||
|
"groups": [ "/oceanbox" ],
|
||||||
|
"roles": [ "admin" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"plume": "plume.ekman.oceanbox.io",
|
||||||
|
"redis": "prod-atlantis-redis-master:6379",
|
||||||
|
"objectStore": "https://atlantis.blob.core.windows.net",
|
||||||
|
"connString": "Username=postgres;Password=secret;Host=localhost;Port=5432;Database=app;Pooling=true;",
|
||||||
|
"sorcerer" : "https://sorcerer.ekman.oceanbox.io",
|
||||||
|
"allowedOrigins": [
|
||||||
|
"https://maps.dev.oceanbox.io",
|
||||||
|
],
|
||||||
|
"appName": "atlantis",
|
||||||
|
"appEnv": "beta",
|
||||||
|
"appNamespace": "atlantis",
|
||||||
|
"appVersion": "2.95.1",
|
||||||
|
"otelCollector": "http://opentelemetry-collector.otel.svc:4317",
|
||||||
|
"pubsubName": "pubsub",
|
||||||
|
"pubsubTopic": "hipster-atlantis",
|
||||||
|
"slurm": {
|
||||||
|
"baseUrl": "https://slurmrestd.ekman.oceanbox.io/",
|
||||||
|
"slurmApi": "slurm/v0.0.42/",
|
||||||
|
"dbdApi": "slurmdbd/v0.0.42/",
|
||||||
|
"accessToken": ""
|
||||||
|
},
|
||||||
|
"amqp": {
|
||||||
|
"auth": "user:hunny-bunny",
|
||||||
|
"host": "10.255.241.201:30673"
|
||||||
|
},
|
||||||
|
"fenceRadius": 1250.0
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
client-id=simen.kirkvik@tromso.serit.no:simkir-tilt-atlantis
|
||||||
|
secret=d9tInZ1XpeDAxD.DySv'*SB=P
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: slurm-events
|
||||||
|
spec:
|
||||||
|
type: bindings.rabbitmq
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: host
|
||||||
|
secretKeyRef:
|
||||||
|
name: prod-atlantis-rabbitmq
|
||||||
|
key: connString
|
||||||
|
- name: queueName
|
||||||
|
value: prod-slurm-job-events
|
||||||
|
- name: durable
|
||||||
|
value: true
|
||||||
|
- name: contentType
|
||||||
|
value: "application/json"
|
||||||
|
- name: route
|
||||||
|
value: /events/slurm
|
||||||
|
scopes:
|
||||||
|
- beta-atlantis
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: configstore
|
||||||
|
spec:
|
||||||
|
type: configuration.redis
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: redisHost
|
||||||
|
value: beta-atlantis-redis-master:6379
|
||||||
|
- name: redisUsername
|
||||||
|
value: default
|
||||||
|
- name: redisPassword
|
||||||
|
secretKeyRef:
|
||||||
|
name: beta-atlantis-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: redisDB
|
||||||
|
value: "1"
|
||||||
|
scopes:
|
||||||
|
- beta-atlantis
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
OIDC_CLIENT_SECRET=KOJ6bDHzE5vdyfSrzgwLjtM5PzA809Zm
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
- op: add
|
||||||
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
|
value:
|
||||||
|
secretRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
- op: add
|
||||||
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
|
value:
|
||||||
|
secretRef:
|
||||||
|
name: prod-atlantis-env
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: azure-keyvault
|
||||||
|
spec:
|
||||||
|
type: secretstores.azure.keyvault
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: vaultName
|
||||||
|
value: atlantisvault
|
||||||
|
- name: azureTenantId
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_TENANT_ID
|
||||||
|
- name: azureClientId
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_CLIENT_ID
|
||||||
|
- name: azureClientSecret
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_CLIENT_SECRET
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
||||||
|
configMapGenerator:
|
||||||
|
- name: beta-atlantis-appsettings
|
||||||
|
files:
|
||||||
|
- appsettings.json
|
||||||
|
patches:
|
||||||
|
- target:
|
||||||
|
group: apps
|
||||||
|
version: v1
|
||||||
|
kind: Deployment
|
||||||
|
path: deployment_patch.yaml
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- secrets.yaml
|
||||||
|
- rbac.yaml
|
||||||
|
- tracing.yaml
|
||||||
|
- bindings.yaml
|
||||||
|
- pubsub.yaml
|
||||||
|
- statestore.yaml
|
||||||
|
- subscriptions.yaml
|
||||||
|
- configurations.yaml
|
||||||
|
- secretstore.yaml
|
||||||
|
- keyvault.yaml
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: pubsub
|
||||||
|
spec:
|
||||||
|
version: v1
|
||||||
|
type: pubsub.rabbitmq
|
||||||
|
metadata:
|
||||||
|
- name: hostname
|
||||||
|
value: prod-rabbitmq.rabbitmq
|
||||||
|
- name: username
|
||||||
|
value: user
|
||||||
|
- name: password
|
||||||
|
secretKeyRef:
|
||||||
|
name: prod-atlantis-rabbitmq
|
||||||
|
key: rabbitmq-password
|
||||||
|
- name: protocol
|
||||||
|
value: amqp
|
||||||
|
- name: durable
|
||||||
|
value: true
|
||||||
|
- name: deletedWhenUnused
|
||||||
|
value: false
|
||||||
|
- name: autoAck
|
||||||
|
value: false
|
||||||
|
- name: deliveryMode
|
||||||
|
value: 1
|
||||||
|
- name: requeueInFailure
|
||||||
|
value: false
|
||||||
|
- name: prefetchCount
|
||||||
|
value: 0
|
||||||
|
- name: reconnectWait
|
||||||
|
value: 0
|
||||||
|
- name: concurrencyMode
|
||||||
|
value: parallel
|
||||||
|
- name: publisherConfirm
|
||||||
|
value: false
|
||||||
|
- name: backOffPolicy
|
||||||
|
value: exponential
|
||||||
|
- name: backOffInitialInterval
|
||||||
|
value: 100
|
||||||
|
- name: backOffMaxRetries
|
||||||
|
value: 16
|
||||||
|
- name: enableDeadLetter # Optional enable dead Letter or not
|
||||||
|
value: true
|
||||||
|
- name: maxLen # Optional max message count in a queue
|
||||||
|
value: 3000
|
||||||
|
- name: maxLenBytes # Optional maximum length in bytes of a queue.
|
||||||
|
value: 10485760
|
||||||
|
- name: exchangeKind
|
||||||
|
value: fanout
|
||||||
|
- name: clientName
|
||||||
|
value: "{appID}"
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: beta-atlantis
|
||||||
|
namespace: beta-atlantis
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- beta-atlantis-appsettings
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- azure-keyvault
|
||||||
|
- beta-atlantis-redis
|
||||||
|
- slurm-access-token
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: beta-atlantis
|
||||||
|
namespace: beta-atlantis
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: beta-atlantis
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: beta-atlantis
|
||||||
|
namespace: beta-atlantis
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kyverno/clone: "true"
|
||||||
|
kyverno/env: "prod"
|
||||||
|
name: prod-atlantis-rabbitmq
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: secretstore
|
||||||
|
spec:
|
||||||
|
type: secretstores.kubernetes
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: defaultNamespace
|
||||||
|
value: prod-atlantis
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: statestore
|
||||||
|
spec:
|
||||||
|
type: state.redis
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: redisHost
|
||||||
|
value: beta-atlantis-redis-master:6379
|
||||||
|
- name: redisUsername
|
||||||
|
value: default
|
||||||
|
- name: redisPassword
|
||||||
|
secretKeyRef:
|
||||||
|
name: beta-atlantis-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: actorStateStore
|
||||||
|
value: "true"
|
||||||
|
- name: redisDB
|
||||||
|
value: "0"
|
||||||
|
scopes:
|
||||||
|
- beta-atlantis
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: dapr.io/v2alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
name: hipster-events
|
||||||
|
spec:
|
||||||
|
topic: hipster
|
||||||
|
routes:
|
||||||
|
default: /events/hipster
|
||||||
|
pubsubname: pubsub
|
||||||
|
metadata:
|
||||||
|
queueType: quorum
|
||||||
|
scopes:
|
||||||
|
- beta-atlantis
|
||||||
|
---
|
||||||
|
apiVersion: dapr.io/v2alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
name: inbox-events
|
||||||
|
spec:
|
||||||
|
topic: inbox
|
||||||
|
routes:
|
||||||
|
default: /events/inbox
|
||||||
|
pubsubname: pubsub
|
||||||
|
metadata:
|
||||||
|
queueType: quorum
|
||||||
|
scopes:
|
||||||
|
- beta-atlantis
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Configuration
|
||||||
|
metadata:
|
||||||
|
name: tracing
|
||||||
|
spec:
|
||||||
|
tracing:
|
||||||
|
samplingRate: "1"
|
||||||
|
otel:
|
||||||
|
endpointAddress: "opentelemetry-collector.otel.svc.cluster.local:4317"
|
||||||
|
protocol: grpc
|
||||||
|
isSecure: false
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"cookieDomain": ".oceanbox.io",
|
"cookieDomain": ".oceanbox.io",
|
||||||
"cookieName": ".obx.staging",
|
"cookieName": ".obx.staging",
|
||||||
"ttl": 12.0,
|
"ttl": 12.0,
|
||||||
"signedOutRedirectUri": "https://atlantis.beta.oceanbox.io",
|
"signedOutRedirectUri": "https://maps.dev.oceanbox.io",
|
||||||
"realm": "atlantis",
|
"realm": "atlantis",
|
||||||
"environment": "staging",
|
"environment": "staging",
|
||||||
"keyStore": {
|
"keyStore": {
|
||||||
@@ -73,9 +73,10 @@
|
|||||||
"connString": "Username=postgres;Password=secret;Host=localhost;Port=5432;Database=app;Pooling=true;",
|
"connString": "Username=postgres;Password=secret;Host=localhost;Port=5432;Database=app;Pooling=true;",
|
||||||
"sorcerer" : "https://sorcerer.ekman.oceanbox.io",
|
"sorcerer" : "https://sorcerer.ekman.oceanbox.io",
|
||||||
"allowedOrigins": [
|
"allowedOrigins": [
|
||||||
"https://atlantis.beta.oceanbox.io",
|
"https://maps.dev.oceanbox.io",
|
||||||
"https://atlantis.dev.oceanbox.io",
|
"https://atlantis.dev.oceanbox.io",
|
||||||
"https://atlantis.local.oceanbox.io:8080"
|
"https://atlantis.local.oceanbox.io:8080",
|
||||||
|
"https://maps.dev.oceanbox.io"
|
||||||
],
|
],
|
||||||
"appName": "atlantis",
|
"appName": "atlantis",
|
||||||
"appEnv": "staging",
|
"appEnv": "staging",
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
podAnnotations:
|
||||||
|
dapr.io/app-id: "beta-atlantis"
|
||||||
|
|
||||||
|
env:
|
||||||
|
- name: APP_NAMESPACE
|
||||||
|
value: beta-atlantis
|
||||||
|
- name: APP_VERSION
|
||||||
|
value: "2.97.4"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "2"
|
||||||
|
- name: ANALYTICS_WEB_ID
|
||||||
|
value: "16e7d807-4db5-45fd-92a9-27393445a153"
|
||||||
|
- name: REDIS_USER
|
||||||
|
value: default
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: beta-atlantis-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: DB_HOST
|
||||||
|
value: beta-atlantis-db-rw
|
||||||
|
- name: DB_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: beta-atlantis-db-superuser
|
||||||
|
key: username
|
||||||
|
- name: DB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: beta-atlantis-db-superuser
|
||||||
|
key: password
|
||||||
|
- name: DAPR_API_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: dapr-api-token
|
||||||
|
key: token
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
||||||
|
hosts:
|
||||||
|
- host: maps.beta.oceanbox.io
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
internal:
|
||||||
|
- path: /internal
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /dapr
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /actors
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /job
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /events
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /metrics
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- maps.beta.oceanbox.io
|
||||||
|
secretName: beta-atlantis-tls
|
||||||
|
|
||||||
|
cluster:
|
||||||
|
instances: 2
|
||||||
|
bootstrap:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 1
|
||||||
|
memory: 1Gi
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 1Gi
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
tag: 4d9e78cd-debug
|
tag: 369127e0-debug
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/app-id: "staging-atlantis"
|
dapr.io/app-id: "staging-atlantis"
|
||||||
env:
|
env:
|
||||||
@@ -49,7 +49,24 @@ ingress:
|
|||||||
# nginx.ingress.kubernetes.io/session-cookie-max-age: "86400"
|
# nginx.ingress.kubernetes.io/session-cookie-max-age: "86400"
|
||||||
# oceanbox.io/expose: internal
|
# oceanbox.io/expose: internal
|
||||||
hosts:
|
hosts:
|
||||||
- host: atlantis.beta.oceanbox.io
|
- host: maps.dev.oceanbox.io
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
internal:
|
||||||
|
- path: /internal
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /dapr
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /actors
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /job
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /events
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /metrics
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- host: maps.dev.oceanbox.io
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
@@ -85,8 +102,9 @@ ingress:
|
|||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- atlantis.beta.oceanbox.io
|
- maps.dev.oceanbox.io
|
||||||
- atlas.oceanbox.io
|
- atlas.oceanbox.io
|
||||||
|
- maps.dev.oceanbox.io
|
||||||
secretName: staging-atlantis-tls
|
secretName: staging-atlantis-tls
|
||||||
cluster:
|
cluster:
|
||||||
instances: 1
|
instances: 1
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/enabled: "true"
|
dapr.io/enabled: "true"
|
||||||
dapr.io/app-port: "8085"
|
dapr.io/app-port: "8085"
|
||||||
|
|||||||
@@ -1,5 +1,65 @@
|
|||||||
- op: add
|
- op: add
|
||||||
path: /spec/template/spec/containers/0/envFrom/-
|
path: /spec/template/spec/containers/0/envFrom
|
||||||
value:
|
value:
|
||||||
secretRef:
|
- secretRef:
|
||||||
name: azure-keyvault
|
name: azure-keyvault
|
||||||
|
- op: add
|
||||||
|
path: /spec/template/spec/containers/0/env
|
||||||
|
value:
|
||||||
|
- name: APP_NAMESPACE
|
||||||
|
value: staging-atlantis
|
||||||
|
- name: DOTNET_ENVIRONMENT
|
||||||
|
value: Development
|
||||||
|
- name: ASPNETCORE_ENVIRONMENT
|
||||||
|
value: Development
|
||||||
|
- name: DB_HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-atlantis-db-app
|
||||||
|
key: host
|
||||||
|
- name: DB_PORT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-atlantis-db-app
|
||||||
|
key: port
|
||||||
|
- name: DB_DATABASE
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-atlantis-db-app
|
||||||
|
key: dbname
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-atlantis-db-app
|
||||||
|
key: user
|
||||||
|
- name: DB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-atlantis-db-app
|
||||||
|
key: password
|
||||||
|
- name: FGA_DB_HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-openfga-db-app
|
||||||
|
key: host
|
||||||
|
- name: FGA_DB_PORT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-openfga-db-app
|
||||||
|
key: port
|
||||||
|
- name: FGA_DB_DATABASE
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-openfga-db-app
|
||||||
|
key: dbname
|
||||||
|
- name: FGA_DB_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-openfga-db-app
|
||||||
|
key: user
|
||||||
|
- name: FGA_DB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: staging-openfga-db-app
|
||||||
|
key: password
|
||||||
|
name: azure-keyvault
|
||||||
|
|||||||
@@ -1,82 +0,0 @@
|
|||||||
# env.patch.yaml
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: staging-codex
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: codex
|
|
||||||
app.kubernetes.io/instance: staging-codex
|
|
||||||
spec:
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: codex
|
|
||||||
app.kubernetes.io/instance: staging-codex
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: codex
|
|
||||||
env:
|
|
||||||
- name: APP_NAME
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.name
|
|
||||||
- name: APP_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
- name: APP_NAMESPACE
|
|
||||||
value: prod-atlantis
|
|
||||||
- name: DOTNET_ENVIRONMENT
|
|
||||||
value: Development
|
|
||||||
- name: ASPNETCORE_ENVIRONMENT
|
|
||||||
value: Development
|
|
||||||
- name: DB_HOST
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-atlantis-db-app
|
|
||||||
key: host
|
|
||||||
- name: DB_PORT
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-atlantis-db-app
|
|
||||||
key: port
|
|
||||||
- name: DB_DATABASE
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-atlantis-db-app
|
|
||||||
key: dbname
|
|
||||||
- name: DB_USER
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-atlantis-db-app
|
|
||||||
key: user
|
|
||||||
- name: DB_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-atlantis-db-app
|
|
||||||
key: password
|
|
||||||
- name: FGA_DB_HOST
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-openfga-db-app
|
|
||||||
key: host
|
|
||||||
- name: FGA_DB_PORT
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-openfga-db-app
|
|
||||||
key: port
|
|
||||||
- name: FGA_DB_DATABASE
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-openfga-db-app
|
|
||||||
key: dbname
|
|
||||||
- name: FGA_DB_USER
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-openfga-db-app
|
|
||||||
key: user
|
|
||||||
- name: FGA_DB_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: staging-openfga-db-app
|
|
||||||
key: password
|
|
||||||
@@ -10,7 +10,5 @@ patches:
|
|||||||
version: v1
|
version: v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
path: deployment_patch.yaml
|
path: deployment_patch.yaml
|
||||||
- path: env.patch.yaml
|
resources:
|
||||||
target:
|
- ../base
|
||||||
labelSelector: "app.kubernetes.io/name=codex"
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ spec:
|
|||||||
destination:
|
destination:
|
||||||
namespace: {{ .Values.codex.env }}-atlantis
|
namespace: {{ .Values.codex.env }}-atlantis
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
project: default
|
project: atlantis
|
||||||
sources:
|
sources:
|
||||||
- repoURL: {{ .Values.clusterConfig.manifests }}
|
- repoURL: {{ .Values.clusterConfig.manifests }}
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
@@ -27,6 +27,9 @@ spec:
|
|||||||
value: {{ .Values.codex.env }}
|
value: {{ .Values.codex.env }}
|
||||||
- name: HELMFILE_FILE_PATH
|
- name: HELMFILE_FILE_PATH
|
||||||
value: codex.yaml.gotmpl
|
value: codex.yaml.gotmpl
|
||||||
|
- repoURL: https://gitlab.com/oceanbox/manifests.git
|
||||||
|
targetRevision: main
|
||||||
|
ref: values
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
image:
|
image:
|
||||||
tag: 028945bf-debug
|
tag: 1b8167c6-debug
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
className: "nginx"
|
className: "nginx"
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-production
|
cert-manager.io/cluster-issuer: ca-issuer
|
||||||
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"
|
||||||
oceanbox.io/expose: internal
|
oceanbox.io/expose: internal
|
||||||
@@ -16,16 +14,19 @@ ingress:
|
|||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
|
- host: codex.dev.tos.obx
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- codex.dev.oceanbox.io
|
- codex.dev.oceanbox.io
|
||||||
|
- codex.dev.tos.obx
|
||||||
secretName: staging-codex-tls
|
secretName: staging-codex-tls
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: appsettings
|
- name: appsettings
|
||||||
configMap:
|
configMap:
|
||||||
name: staging-codex-appsettings
|
name: staging-codex-appsettings
|
||||||
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: appsettings
|
- name: appsettings
|
||||||
mountPath: "/app/appsettings.Development.json"
|
mountPath: "/app/appsettings.Development.json"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
rules:
|
rules:
|
||||||
- host: dapr.{{ .Values.clusterConfig.cluster }}.oceanbox.io
|
- host: dapr.adm.oceanbox.io
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- backend:
|
- backend:
|
||||||
@@ -26,6 +26,6 @@ spec:
|
|||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- dapr.{{ .Values.clusterConfig.cluster }}.oceanbox.io
|
- dapr.adm.oceanbox.io
|
||||||
secretName: dapr-dashboard-tls
|
secretName: dapr-dashboard-tls
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
drupal:
|
||||||
|
enabled: true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
drupal:
|
||||||
|
enabled: false
|
||||||
|
autosync: false
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-external-services
|
||||||
|
namespace: drupal
|
||||||
|
spec:
|
||||||
|
egress:
|
||||||
|
- toFQDNs:
|
||||||
|
- matchPattern: 'cache.nixos.org'
|
||||||
|
- matchPattern: 'nix-community.cachix.org'
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: drupal
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: drupal-db
|
||||||
|
spec:
|
||||||
|
instances: 1
|
||||||
|
primaryUpdateStrategy: unsupervised
|
||||||
|
storage:
|
||||||
|
size: 2Gi
|
||||||
|
monitoring:
|
||||||
|
enablePodMonitor: true
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: drupal
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: drupal
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
sources:
|
||||||
|
- repoURL: https://gitlab.com/oceanbox/manifests.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: values/drupal/manifests
|
||||||
|
project: sys
|
||||||
|
syncPolicy:
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
# selfHeal: false
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: drupal
|
||||||
|
labels:
|
||||||
|
app: drupal
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
name: http
|
||||||
|
targetPort: http
|
||||||
|
selector:
|
||||||
|
app: drupal
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: drupal
|
||||||
|
labels:
|
||||||
|
app: drupal
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: drupal
|
||||||
|
labels:
|
||||||
|
app: drupal
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: drupal
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: drupal
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-sites-volume
|
||||||
|
image: drupal
|
||||||
|
command: ["/bin/bash", "-c"]
|
||||||
|
args:
|
||||||
|
[
|
||||||
|
"cp -r /var/www/html/sites/ /data/; chown www-data:www-data /data/ -R",
|
||||||
|
]
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data
|
||||||
|
name: drupal
|
||||||
|
containers:
|
||||||
|
- image: registry.gitlab.com/oceanbox/fornix/oceanbox:dev
|
||||||
|
name: drupal
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
env:
|
||||||
|
- name: DRUPAL_DATABASE_HOST
|
||||||
|
value: drupal-db-rw
|
||||||
|
- name: DRUPAL_DATABASE_PREFIX
|
||||||
|
value: ""
|
||||||
|
- name: DRUPAL_DATABASE_NAME
|
||||||
|
value: app
|
||||||
|
- name: DRUPAL_DATABASE_USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: drupal-db-app
|
||||||
|
key: username
|
||||||
|
- name: DRUPAL_DATABASE_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: drupal-db-app
|
||||||
|
key: password
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/www/html/modules
|
||||||
|
name: drupal
|
||||||
|
subPath: modules
|
||||||
|
- mountPath: /var/www/html/profiles
|
||||||
|
name: drupal
|
||||||
|
subPath: profiles
|
||||||
|
- mountPath: /var/www/html/sites
|
||||||
|
name: drupal
|
||||||
|
subPath: sites
|
||||||
|
- mountPath: /var/www/html/themes
|
||||||
|
name: drupal
|
||||||
|
subPath: themes
|
||||||
|
volumes:
|
||||||
|
- name: drupal
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: drupal
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: HTTP
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,172.19.255.0/24,100.64.0.0/12
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: drupal
|
||||||
|
name: drupal
|
||||||
|
namespace: drupal
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
rules:
|
||||||
|
- host: drupal.hel1.oceanbox.io
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: drupal
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
path: /
|
||||||
|
pathType: Prefix
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- drupal.hel1.oceanbox.io
|
||||||
|
secretName: drupal-tls
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Default values for Example Single Node.
|
||||||
|
# This is a YAML-formatted file.
|
||||||
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
|
drupal:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
## A manually managed Persistent Volume and Claim
|
||||||
|
## Requires persistence.enabled: true
|
||||||
|
## If defined, PVC must be created manually before volume will be bound
|
||||||
|
# existingClaim:
|
||||||
|
|
||||||
|
## Drupal data Persistent Volume Storage Class
|
||||||
|
## If defined, storageClassName: <storageClass>
|
||||||
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||||
|
## If undefined (the default) or set to null, no storageClassName spec is
|
||||||
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||||
|
## GKE, AWS & OpenStack)
|
||||||
|
##
|
||||||
|
# storageClass: "-"
|
||||||
|
annotations: {}
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 2Gi
|
||||||
|
|
||||||
|
varnish:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
redis:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
proxysql:
|
||||||
|
enabled: false
|
||||||
@@ -79,21 +79,28 @@ config:
|
|||||||
- "[RESPONSE_TIME] <= 1000"
|
- "[RESPONSE_TIME] <= 1000"
|
||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
- name: Atlantis
|
- name: Atlantis TOS
|
||||||
<<: *https-endpoint
|
<<: *https-endpoint
|
||||||
group: "Primary Services"
|
group: "Primary Services"
|
||||||
url: https://maps.oceanbox.io/healthz
|
url: https://maps.oceanbox.io/healthz
|
||||||
alerts:
|
alerts:
|
||||||
- type: custom
|
- type: custom
|
||||||
|
|
||||||
- name: Sorcerer
|
- name: Sorcerer TOS
|
||||||
<<: *https-endpoint
|
<<: *https-endpoint
|
||||||
group: "Primary Services"
|
group: "Primary Services"
|
||||||
url: https://sorcerer.data.oceanbox.io/healthz
|
url: https://sorcerer.data.oceanbox.io/healthz
|
||||||
alerts:
|
alerts:
|
||||||
- type: custom
|
- type: custom
|
||||||
|
|
||||||
- name: Plume
|
- name: Sorcerer VTN
|
||||||
|
<<: *https-endpoint
|
||||||
|
group: "Primary Services"
|
||||||
|
url: https://sorcerer.vtn.oceanbox.io/healthz
|
||||||
|
# alerts:
|
||||||
|
# - type: custom
|
||||||
|
|
||||||
|
- name: Plume TOS
|
||||||
<<: *https-endpoint
|
<<: *https-endpoint
|
||||||
group: "Secondary Services"
|
group: "Secondary Services"
|
||||||
url: https://plume.data.oceanbox.io/healthz
|
url: https://plume.data.oceanbox.io/healthz
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
image:
|
image:
|
||||||
repository: ghcr.io/juanfont/headscale
|
repository: ghcr.io/juanfont/headscale
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: v0.26.1
|
tag: v0.27.1
|
||||||
|
|
||||||
args: [ "serve" ]
|
args: [ "serve" ]
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
image:
|
image:
|
||||||
repository: ghcr.io/juanfont/headscale
|
repository: ghcr.io/juanfont/headscale
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: v0.26.1
|
tag: v0.27.1
|
||||||
|
|
||||||
args: ["serve"]
|
args: ["serve"]
|
||||||
|
|
||||||
@@ -107,6 +107,7 @@ configMaps:
|
|||||||
"group:devops": [
|
"group:devops": [
|
||||||
"radovan.bast@oceanbox.io",
|
"radovan.bast@oceanbox.io",
|
||||||
"ole.tytlandsvik@oceanbox.io",
|
"ole.tytlandsvik@oceanbox.io",
|
||||||
|
"ismael.abujadur@oceanbox.io",
|
||||||
],
|
],
|
||||||
"group:oceanographer": [
|
"group:oceanographer": [
|
||||||
"frank.gaardsted@oceanbox.io",
|
"frank.gaardsted@oceanbox.io",
|
||||||
@@ -243,14 +244,11 @@ configMaps:
|
|||||||
data:
|
data:
|
||||||
records: |
|
records: |
|
||||||
[
|
[
|
||||||
{ "name": "ekman.oceanbox.io", "type": "A", "value": "10.255.241.100" },
|
|
||||||
{ "name": "ekman-manage.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
|
||||||
{ "name": "rossby.oceanbox.io", "type": "A", "value": "172.16.239.222" },
|
|
||||||
{ "name": "rossby-manage.oceanbox.io", "type": "A", "value": "172.16.239.221" },
|
|
||||||
|
|
||||||
{ "name": "maps.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "maps.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "maps.beta.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "maps.beta.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
|
{ "name": "maps.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "atlantis.beta.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "atlantis.beta.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
|
{ "name": "codex.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
|
|
||||||
{ "name": "auth.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "auth.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "auth.adm.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "auth.adm.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
@@ -299,6 +297,8 @@ configMaps:
|
|||||||
{ "name": "alertmanager.ob-ceph.local", "type": "A", "value": "10.255.241.10" },
|
{ "name": "alertmanager.ob-ceph.local", "type": "A", "value": "10.255.241.10" },
|
||||||
{ "name": "hubble.ob-ceph.local", "type": "A", "value": "10.255.241.10" },
|
{ "name": "hubble.ob-ceph.local", "type": "A", "value": "10.255.241.10" },
|
||||||
|
|
||||||
|
{ "name": "codex.dev.tos.obx", "type": "A", "value": "10.255.241.11" },
|
||||||
|
|
||||||
{ "name": "dashboard.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
{ "name": "dashboard.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
||||||
{ "name": "grafana.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
{ "name": "grafana.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
||||||
{ "name": "s3.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
{ "name": "s3.ceph.tos.obx", "type": "A", "value": "10.255.241.10" },
|
||||||
@@ -326,7 +326,7 @@ configMaps:
|
|||||||
{ "name": "mrtz-sorcerer.adm.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
{ "name": "mrtz-sorcerer.adm.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
||||||
{ "name": "mrtz-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
{ "name": "mrtz-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
{ "name": "simkir-atlantis.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "simkir-atlantis.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "simkir-user-portal.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
{ "name": "simkir-codex.dev.oceanbox.io", "type": "A", "value": "10.255.241.11" },
|
||||||
{ "name": "simkir-sorcerer.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
{ "name": "simkir-sorcerer.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
{ "name": "simkir-sorcerer.adm.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
{ "name": "simkir-sorcerer.adm.vtn.obx", "type": "A", "value": "172.16.239.221" },
|
||||||
{ "name": "simkir-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
{ "name": "simkir-plume.ekman.oceanbox.io", "type": "A", "value": "10.255.241.99" },
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
tag: "f2d0f9ad-debug"
|
tag: "aa4f7d23-debug"
|
||||||
env:
|
env:
|
||||||
- name: APP_VERSION
|
- name: APP_VERSION
|
||||||
value: "0.0.0-staging"
|
value: "0.0.0-staging"
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
nexus:
|
||||||
|
enabled: true
|
||||||
|
autosync: true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
nexus:
|
||||||
|
enabled: false
|
||||||
|
autosync: false
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: nexus-admin-password
|
||||||
|
namespace: nexus
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
password: "changeme-admin-password-here"
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{{- if .Values.clusterConfig.argo.enabled }}
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: nexus
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: nexus
|
||||||
|
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: nexus.yaml.gotmpl
|
||||||
|
project: sys
|
||||||
|
syncPolicy:
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
component: sys
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
{{- if .Values.nexus.autosync }}
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
image:
|
||||||
|
tag: 3.74.0
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: nginx
|
||||||
|
hosts:
|
||||||
|
- host: mochi.tos.oceanbox.io
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
tls:
|
||||||
|
- secretName: nexus-tls
|
||||||
|
hosts:
|
||||||
|
- mochi.tos.oceanbox.io
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: "ceph-rbd"
|
||||||
|
size: 8Gi
|
||||||
|
|
||||||
|
env:
|
||||||
|
- name: INSTALL4J_ADD_VM_PARAMS
|
||||||
|
value: "-Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 1Gi
|
||||||
|
limits:
|
||||||
|
memory: 1Gi
|
||||||
|
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
data:
|
||||||
|
nexus.properties: |
|
||||||
|
nexus.s3.blobstore.enabled=true
|
||||||
|
rootPassword:
|
||||||
|
secret: nexus-admin-password
|
||||||
|
key: password
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
|
||||||
|
additionalConfigMaps:
|
||||||
|
- name: nexus-s3-config
|
||||||
|
data:
|
||||||
|
s3-blobstore.json: |
|
||||||
|
{
|
||||||
|
"name": "s3-nuget",
|
||||||
|
"type": "S3",
|
||||||
|
"attributes": {
|
||||||
|
"s3": {
|
||||||
|
"bucket": "nexus-nuget-registry",
|
||||||
|
"region": "us-east-1",
|
||||||
|
"prefix": "nuget/",
|
||||||
|
"expiration": -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
nfs_provisioner:
|
nfs_provisioner:
|
||||||
enabled: true
|
enabled: false
|
||||||
autosync: true
|
autosync: true
|
||||||
archiveOnDelete: true
|
archiveOnDelete: true
|
||||||
defaultClass: true
|
defaultClass: true
|
||||||
|
|||||||
@@ -1,3 +1,2 @@
|
|||||||
sorcerer:
|
sorcerer:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
sorcerer:
|
||||||
|
enabled: true
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"oidc": {
|
||||||
|
"issuer": "https://auth.oceanbox.io/realms/oceanbox",
|
||||||
|
"authorization_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/auth",
|
||||||
|
"token_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/token",
|
||||||
|
"jwks_uri": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/certs",
|
||||||
|
"userinfo_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/userinfo",
|
||||||
|
"end_session_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/logout",
|
||||||
|
"device_authorization_endpoint": "https://auth.oceanbox.io/realms/oceanbox/protocol/openid-connect/auth/device",
|
||||||
|
"clientId": "sorcerer",
|
||||||
|
"clientSecret": "",
|
||||||
|
"scopes": [
|
||||||
|
"openid",
|
||||||
|
"email",
|
||||||
|
"offline_access",
|
||||||
|
"profile"
|
||||||
|
],
|
||||||
|
"audiences": [
|
||||||
|
"atlantis",
|
||||||
|
"atlantis_dev",
|
||||||
|
"sorcerer",
|
||||||
|
"sorcerer_dev"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sso": {
|
||||||
|
"cookieDomain": ".oceanbox.io",
|
||||||
|
"cookieName": ".obx.prod",
|
||||||
|
"ttl": 12.0,
|
||||||
|
"signedOutRedirectUri": "https://maps.oceanbox.io",
|
||||||
|
"realm": "atlantis",
|
||||||
|
"environment": "prod",
|
||||||
|
"keyStore": {
|
||||||
|
"kind": "azure",
|
||||||
|
"uri": "https://atlantis.blob.core.windows.net",
|
||||||
|
"key": "dataprotection-keys"
|
||||||
|
},
|
||||||
|
"keyVault": {
|
||||||
|
"kind": "azure",
|
||||||
|
"uri": "https://atlantisvault.vault.azure.net",
|
||||||
|
"key": "dataencryption-keys"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"plainAuthUsers": [],
|
||||||
|
"fga": {
|
||||||
|
"apiUrl": "https://openfga.srv.oceanbox.io",
|
||||||
|
"apiKey": "",
|
||||||
|
"storeId": "01JKTZXMP7ANN4GG2P5W8Y56M6",
|
||||||
|
"modelId": "01JKTZYMCZZBVSBG66W27XMW0A"
|
||||||
|
},
|
||||||
|
"sentryUrl": "https://5e6e3584098dc006de18038cf85d2cbe@o4509530141622272.ingest.de.sentry.io/4509547350065232",
|
||||||
|
"redis": "localhost:6379,user=default,password=secret",
|
||||||
|
"allowedOrigins": [
|
||||||
|
"http://localhost:8085",
|
||||||
|
"http://localhost:8080",
|
||||||
|
"https://localhost:8080",
|
||||||
|
"https://sorcerer.vtn.oceanbox.io",
|
||||||
|
"https://sorcerer.local.oceanbox.io:8080",
|
||||||
|
"https://atlantis.local.oceanbox.io:8080",
|
||||||
|
"https://maps.oceanbox.io",
|
||||||
|
"https://maps.beta.oceanbox.io",
|
||||||
|
"https://atlantis.beta.oceanbox.io",
|
||||||
|
"https://jonas-atlantis.dev.oceanbox.io",
|
||||||
|
"https://stig-atlantis.dev.oceanbox.io",
|
||||||
|
],
|
||||||
|
"appName": "sorcerer",
|
||||||
|
"appEnv": "prod",
|
||||||
|
"appNamespace": "prod-sorcerer",
|
||||||
|
"appVersion": "0.0.0",
|
||||||
|
"otelCollector": "http://10.255.241.12:4317",
|
||||||
|
"archiveSvc": "https://maps.oceanbox.io",
|
||||||
|
"dataDir": "/data/archives",
|
||||||
|
"cacheDir": "/data/archives/cache"
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: pv-prod-backup-archives
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
capacity:
|
||||||
|
storage: 400T
|
||||||
|
local:
|
||||||
|
path: /backup/archives
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
volumeMode: Filesystem
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- ekman
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: prod-oceanbox-backup-archives
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 400T
|
||||||
|
storageClassName: ""
|
||||||
|
volumeMode: Filesystem
|
||||||
|
volumeName: pv-prod-backup-archives
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: configstore
|
||||||
|
spec:
|
||||||
|
type: configuration.redis
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: redisHost
|
||||||
|
value: prod-sorcerer-redis:6379
|
||||||
|
- name: redisUsername
|
||||||
|
value: default
|
||||||
|
- name: redisPassword
|
||||||
|
secretKeyRef:
|
||||||
|
name: prod-sorcerer-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: redisDB
|
||||||
|
value: "1"
|
||||||
|
scopes:
|
||||||
|
- prod-sorcerer
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
SEQ_APIKEY=7iIXHJukYjSLQDix6CnZ
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
- op: replace
|
||||||
|
path: /spec/template/spec/containers/0/volumeMounts/0/mountPath
|
||||||
|
value: /data
|
||||||
|
- op: add
|
||||||
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
|
value:
|
||||||
|
secretRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
- op: add
|
||||||
|
path: /spec/template/spec/containers/0/envFrom/-
|
||||||
|
value:
|
||||||
|
secretRef:
|
||||||
|
name: prod-sorcerer-env
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
||||||
|
configMapGenerator:
|
||||||
|
- name: prod-sorcerer-appsettings
|
||||||
|
files:
|
||||||
|
- appsettings.json
|
||||||
|
patches:
|
||||||
|
- target:
|
||||||
|
group: apps
|
||||||
|
version: v1
|
||||||
|
kind: Deployment
|
||||||
|
path: deployment_patch.yaml
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- pv.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- secrets.yaml
|
||||||
|
- configurations.yaml
|
||||||
|
- keyvault.yaml
|
||||||
|
- rbac.yaml
|
||||||
|
- secretstore.yaml
|
||||||
|
- statestore.yaml
|
||||||
|
- tracing.yaml
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: pv-prod-sorcerer-ceph-archives
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
csi:
|
||||||
|
driver: cephfs.csi.ceph.com
|
||||||
|
nodeStageSecretRef:
|
||||||
|
name: csi-cephfs-secret
|
||||||
|
namespace: ceph-csi-operator-system
|
||||||
|
volumeAttributes:
|
||||||
|
clusterID: storage
|
||||||
|
fsName: data
|
||||||
|
rootPath: /
|
||||||
|
staticVolume: "true"
|
||||||
|
volumeHandle: pv-prod-sorcerer-ceph-archives
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
volumeMode: Filesystem
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: prod-sorcerer-ceph-archives
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
storageClassName: ""
|
||||||
|
volumeMode: Filesystem
|
||||||
|
volumeName: pv-prod-sorcerer-ceph-archives
|
||||||
|
status:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: prod-sorcerer
|
||||||
|
namespace: prod-sorcerer
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- prod-sorcerer-appsettings
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- azure-keyvault
|
||||||
|
- prod-sorcerer-redis
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- watch
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: prod-sorcerer
|
||||||
|
namespace: prod-sorcerer
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: prod-sorcerer
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: prod-sorcerer
|
||||||
|
namespace: prod-sorcerer
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: prod-sorcerer-env
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kyverno/clone: "true"
|
||||||
|
name: azure-keyvault
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: secretstore
|
||||||
|
spec:
|
||||||
|
type: secretstores.kubernetes
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: defaultNamespace
|
||||||
|
value: prod-sorcerer
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: statestore
|
||||||
|
spec:
|
||||||
|
type: state.redis
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: redisHost
|
||||||
|
value: prod-sorcerer-redis:6379
|
||||||
|
- name: redisUsername
|
||||||
|
value: default
|
||||||
|
- name: redisPassword
|
||||||
|
secretKeyRef:
|
||||||
|
name: prod-sorcerer-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: actorStateStore
|
||||||
|
value: "true"
|
||||||
|
- name: redisDB
|
||||||
|
value: "0"
|
||||||
|
scopes:
|
||||||
|
- prod-sorcerer
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Configuration
|
||||||
|
metadata:
|
||||||
|
name: tracing
|
||||||
|
spec:
|
||||||
|
tracing:
|
||||||
|
samplingRate: "1"
|
||||||
|
otel:
|
||||||
|
endpointAddress: "10.255.241.12:4317"
|
||||||
|
protocol: grpc
|
||||||
|
isSecure: false
|
||||||
+3
-2
@@ -26,7 +26,7 @@
|
|||||||
"cookieDomain": ".oceanbox.io",
|
"cookieDomain": ".oceanbox.io",
|
||||||
"cookieName": ".obx.staging",
|
"cookieName": ".obx.staging",
|
||||||
"ttl": 12.0,
|
"ttl": 12.0,
|
||||||
"signedOutRedirectUri": "https://atlantis.beta.oceanbox.io",
|
"signedOutRedirectUri": "https://maps.dev.oceanbox.io",
|
||||||
"realm": "atlantis",
|
"realm": "atlantis",
|
||||||
"environment": "staging",
|
"environment": "staging",
|
||||||
"keyStore": {
|
"keyStore": {
|
||||||
@@ -58,6 +58,7 @@
|
|||||||
"https://atlantis.local.oceanbox.io:8080",
|
"https://atlantis.local.oceanbox.io:8080",
|
||||||
"https://maps.oceanbox.io",
|
"https://maps.oceanbox.io",
|
||||||
"https://maps.beta.oceanbox.io",
|
"https://maps.beta.oceanbox.io",
|
||||||
|
"https://maps.dev.oceanbox.io",
|
||||||
"https://atlantis.beta.oceanbox.io",
|
"https://atlantis.beta.oceanbox.io",
|
||||||
"https://jonas-atlantis.dev.oceanbox.io",
|
"https://jonas-atlantis.dev.oceanbox.io",
|
||||||
"https://stig-atlantis.dev.oceanbox.io",
|
"https://stig-atlantis.dev.oceanbox.io",
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
"appNamespace": "staging-sorcerer",
|
"appNamespace": "staging-sorcerer",
|
||||||
"appVersion": "0.0.0",
|
"appVersion": "0.0.0",
|
||||||
"otelCollector": "http://10.255.241.12:4317",
|
"otelCollector": "http://10.255.241.12:4317",
|
||||||
"archiveSvc": "https://atlantis.beta.oceanbox.io",
|
"archiveSvc": "https://maps.dev.oceanbox.io",
|
||||||
"dataDir": "/data/archives",
|
"dataDir": "/data/archives",
|
||||||
"cacheDir": "/data/archives/cache"
|
"cacheDir": "/data/archives/cache"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: dapr.io/v1alpha1
|
||||||
|
kind: Component
|
||||||
|
metadata:
|
||||||
|
name: azure-keyvault
|
||||||
|
spec:
|
||||||
|
type: secretstores.azure.keyvault
|
||||||
|
version: v1
|
||||||
|
metadata:
|
||||||
|
- name: vaultName
|
||||||
|
value: atlantisvault
|
||||||
|
- name: azureTenantId
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_TENANT_ID
|
||||||
|
- name: azureClientId
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_CLIENT_ID
|
||||||
|
- name: azureClientSecret
|
||||||
|
secretKeyRef:
|
||||||
|
name: azure-keyvault
|
||||||
|
key: AZURE_CLIENT_SECRET
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
replicaCount: 2
|
||||||
|
|
||||||
|
podAnnotations:
|
||||||
|
dapr.io/enabled: "true"
|
||||||
|
dapr.io/app-id: "prod-sorcerer"
|
||||||
|
dapr.io/app-port: "8085"
|
||||||
|
dapr.io/api-token-secret: "dapr-api-token"
|
||||||
|
dapr.io/config: "tracing"
|
||||||
|
dapr.io/app-protocol: "http"
|
||||||
|
dapr.io/log-as-json: "true"
|
||||||
|
dapr.io/sidecar-cpu-request: "10m"
|
||||||
|
dapr.io/sidecar-memory-request: "50Mi"
|
||||||
|
# dapr.io/sidecar-cpu-limit: "300m"
|
||||||
|
# dapr.io/sidecar-memory-limit: "1000Mi"
|
||||||
|
|
||||||
|
env:
|
||||||
|
- name: APP_VERSION
|
||||||
|
value: "4.16.3"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "2"
|
||||||
|
- name: REDIS_USER
|
||||||
|
value: default
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: prod-sorcerer-redis
|
||||||
|
key: redis-password
|
||||||
|
- name: DAPR_API_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: dapr-api-token
|
||||||
|
key: token
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/affinity: "cookie"
|
||||||
|
nginx.ingress.kubernetes.io/session-cookie-name: "http-affinity"
|
||||||
|
nginx.ingress.kubernetes.io/session-cookie-expires: "86400"
|
||||||
|
nginx.ingress.kubernetes.io/session-cookie-max-age: "86400"
|
||||||
|
hosts:
|
||||||
|
- host: sorcerer.vtn.oceanbox.io
|
||||||
|
paths:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
internal:
|
||||||
|
- path: /internal
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /dapr
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /actors
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /job
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /events
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
- path: /metrics
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- sorcerer.vtn.oceanbox.io
|
||||||
|
secretName: prod-sorcerer-tls
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
existingClaim: prod-sorcerer-ceph-archives
|
||||||
|
# existingClaim: prod-oceanbox-backup-archives
|
||||||
|
|
||||||
|
# nodeSelector:
|
||||||
|
# node-role.kubernetes.io/srv: ""
|
||||||
|
# kubernetes.io/hostname: fs-backup
|
||||||
|
# node-role.kubernetes.io/worker: c1-1
|
||||||
|
|
||||||
|
# tolerations:
|
||||||
|
# - key: workload
|
||||||
|
# operator: Equal
|
||||||
|
# value: compute
|
||||||
|
# effect: NoSchedule
|
||||||
|
redis:
|
||||||
|
enabled: true
|
||||||
|
replicas: 3
|
||||||
|
storageClass: "csi-rbd"
|
||||||
|
size: 2Gi
|
||||||
|
backup:
|
||||||
|
enabled: true
|
||||||
|
secret:
|
||||||
|
name: "prod-sorcerer-redis"
|
||||||
|
key: "redis-password"
|
||||||
|
resources:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 2Gi
|
||||||
|
|
||||||
|
|
||||||
|
affinity: {}
|
||||||
|
# affinity:
|
||||||
|
# nodeAffinity:
|
||||||
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
# nodeSelectorTerms:
|
||||||
|
# - matchExpressions:
|
||||||
|
# - key: "topology.kubernetes.io/group"
|
||||||
|
# operator: In
|
||||||
|
# values:
|
||||||
|
# - srv
|
||||||
|
# podAntiAffinity:
|
||||||
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
# - labelSelector:
|
||||||
|
# matchExpressions:
|
||||||
|
# - key: "app.kubernetes.io/name"
|
||||||
|
# operator: In
|
||||||
|
# values:
|
||||||
|
# - sorcerer
|
||||||
|
# - key: "app.kubernetes.io/instance"
|
||||||
|
# operator: In
|
||||||
|
# values:
|
||||||
|
# - prod-sorcerer
|
||||||
|
# topologyKey: "kubernetes.io/hostname"
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
image:
|
image:
|
||||||
tag: 8c17a644-debug
|
tag: 1b8167c6-debug
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
dapr.io/enabled: "true"
|
dapr.io/enabled: "true"
|
||||||
dapr.io/app-id: "staging-sorcerer"
|
dapr.io/app-id: "staging-sorcerer"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user