feat(sorcerer): Add beta instance
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"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.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"
|
||||
}
|
||||
},
|
||||
"plainAuthUsers": [],
|
||||
"fga": {
|
||||
"apiUrl": "https://openfga.srv.oceanbox.io",
|
||||
"apiKey": "",
|
||||
"storeId": "01JKTZXMP7ANN4GG2P5W8Y56M6",
|
||||
"modelId": "01JKTZYMCZZBVSBG66W27XMW0A"
|
||||
},
|
||||
"sentryUrl": "https://5e6e3584098dc006de18038cf85d2cbe@o4509530141622272.ingest.de.sentry.io/4509547350065232",
|
||||
"redis": "beta-sorcerer-redis:6379,user=default,password=secret",
|
||||
"allowedOrigins": [
|
||||
"http://localhost:8085",
|
||||
"http://localhost:8080",
|
||||
"https://localhost:8080",
|
||||
"https://sorcerer.data.oceanbox.io",
|
||||
"https://sorcerer.ekman.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",
|
||||
"https://prod-sorcerer.ekman.oceanbox.io",
|
||||
"http://prod-sorcerer.ekman.oceanbox.io"
|
||||
],
|
||||
"appName": "sorcerer",
|
||||
"appEnv": "beta",
|
||||
"appNamespace": "beta-sorcerer",
|
||||
"appVersion": "0.0.0",
|
||||
"otelCollector": "http://10.255.241.12:4317",
|
||||
"archiveSvc": "https://maps.beta.oceanbox.io",
|
||||
"dataDir": "/data/archives",
|
||||
"cacheDir": "/data/archives/cache"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: pv-beta-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: beta-oceanbox-backup-archives
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 400T
|
||||
storageClassName: ""
|
||||
volumeMode: Filesystem
|
||||
volumeName: pv-beta-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: beta-sorcerer-redis:6379
|
||||
- name: redisUsername
|
||||
value: default
|
||||
- name: redisPassword
|
||||
secretKeyRef:
|
||||
name: beta-sorcerer-redis
|
||||
key: redis-password
|
||||
- name: redisDB
|
||||
value: "1"
|
||||
scopes:
|
||||
- beta-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: beta-sorcerer-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,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-beta-sorcerer-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-beta-sorcerer-ceph-archives
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
volumeMode: Filesystem
|
||||
@@ -0,0 +1,18 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: beta-sorcerer-ceph-archives
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: ""
|
||||
volumeMode: Filesystem
|
||||
volumeName: pv-beta-sorcerer-ceph-archives
|
||||
status:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
@@ -0,0 +1,39 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: beta-sorcerer
|
||||
namespace: beta-sorcerer
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resourceNames:
|
||||
- beta-sorcerer-appsettings
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resourceNames:
|
||||
- azure-keyvault
|
||||
- beta-sorcerer-redis
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: beta-sorcerer
|
||||
namespace: beta-sorcerer
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: beta-sorcerer
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: beta-sorcerer
|
||||
namespace: beta-sorcerer
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: beta-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: beta-sorcerer
|
||||
@@ -0,0 +1,22 @@
|
||||
apiVersion: dapr.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: statestore
|
||||
spec:
|
||||
type: state.redis
|
||||
version: v1
|
||||
metadata:
|
||||
- name: redisHost
|
||||
value: beta-sorcerer-redis:6379
|
||||
- name: redisUsername
|
||||
value: default
|
||||
- name: redisPassword
|
||||
secretKeyRef:
|
||||
name: beta-sorcerer-redis
|
||||
key: redis-password
|
||||
- name: actorStateStore
|
||||
value: "true"
|
||||
- name: redisDB
|
||||
value: "0"
|
||||
scopes:
|
||||
- beta-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
|
||||
@@ -0,0 +1,115 @@
|
||||
replicaCount: 2
|
||||
|
||||
podAnnotations:
|
||||
dapr.io/enabled: "true"
|
||||
dapr.io/app-id: "beta-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: beta-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-betauction
|
||||
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.beta.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.beta.oceanbox.io
|
||||
secretName: beta-sorcerer-tls
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
existingClaim: beta-sorcerer-ceph-archives
|
||||
# existingClaim: beta-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
|
||||
size: 2Gi
|
||||
backup:
|
||||
enabled: true
|
||||
secret:
|
||||
name: "beta-sorcerer-redis"
|
||||
key: "redis-password"
|
||||
resources:
|
||||
cpu: 150m
|
||||
memory: 256Mi
|
||||
|
||||
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:
|
||||
- beta-sorcerer
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
Reference in New Issue
Block a user