Compare commits

...

5 Commits

20 changed files with 455 additions and 7 deletions
@@ -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}"
+40
View File
@@ -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,7 +73,7 @@
"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" "https://maps.dev.oceanbox.io"
@@ -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
@@ -49,7 +49,7 @@ 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: paths:
- path: / - path: /
pathType: ImplementationSpecific pathType: ImplementationSpecific
@@ -102,7 +102,7 @@ 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 - maps.dev.oceanbox.io
secretName: staging-atlantis-tls secretName: staging-atlantis-tls
@@ -1,4 +1,3 @@
podAnnotations: podAnnotations:
dapr.io/enabled: "true" dapr.io/enabled: "true"
dapr.io/app-port: "8085" dapr.io/app-port: "8085"
@@ -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": {
@@ -72,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"
} }