Skip to content

Commit f9aaebb

Browse files
authored
Merge pull request #166 from eccenca/feature/helm-deployment
helm deployment
2 parents 6ca103d + 46028cb commit f9aaebb

File tree

8 files changed

+559
-3
lines changed

8 files changed

+559
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ tmp
88
.DS_Store
99
.vscode/
1010
.python-version
11+

docs/deploy-and-configure/installation/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ nav:
22
- Installation: index.md
33
- "Scenario: Single Node Cloud Installation": scenario-single-node-cloud-installation
44
- "Scenario: Local Installation": scenario-local-installation
5+
- "Scenario: Kubernetes Deployment": scenario-k8s-deployment
56
- Migrating Stores: migrating-stores
67

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Default values for cmem.
2+
nameOverride: ""
3+
4+
ingress:
5+
enabled: true
6+
className: nginx
7+
annotations:
8+
#kubernetes.io/tls-acme: "true"
9+
cert-manager.io/cluster-issuer: OVERRIDDEN_BY_TASKFILE
10+
11+
hosts:
12+
- host: "OVERRIDDEN_BY_TASKFILE"
13+
paths:
14+
- path: /
15+
pathType: Prefix
16+
serviceName: explore
17+
servicePort: 8080
18+
- path: /dataintegration
19+
pathType: Prefix
20+
serviceName: dataintegration
21+
servicePort: 8080
22+
tls:
23+
- hosts:
24+
- "OVERRIDDEN_BY_TASKFILE"
25+
secretName: cmem-ingress-cert
26+
27+
global:
28+
# The OAuth client that will be used to load the workspace initially and run the schedulers.
29+
# In order to enable that feature, you have to enable the service account feature in the Keycloak
30+
# OIDC client "cmem-service-client". Furthermore, an AccessCondition that maps with `eccauth:requiresClient :cmem-service-account`
31+
# is required.
32+
33+
protocol: "https"
34+
cmemClientId: cmem-service-account
35+
cmemClientSecret: c8c12828-000c-467b-9b6d-2d6b5e16df4a
36+
hostname: "OVERRIDDEN_BY_TASKFILE"
37+
# This is the base keycloak realm url, e.g. https://cmem.example.com/auth/realms/cmem
38+
# license: cmem-license
39+
disablePythonInstallFromOutside: false
40+
41+
bootstrap:
42+
enabled: true
43+
44+
explore:
45+
config:
46+
# disabeld by default
47+
# create Objects of kind Pod- or SeviceMonitor see
48+
# https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/developer/getting-started.md#deploying-a-sample-application
49+
serviceMonitorEnabaled: false
50+
podMonitorEnabled: true
51+
store:
52+
graphdb:
53+
enabled: true
54+
repository: cmem
55+
user: provisioner
56+
password: "iHaveSuperpowers"
57+
# With Dataplatform 22.2, we have a "host" property
58+
host: "graphdb.graphdb"
59+
sslEnabled: false
60+
createRepoOnStartup: true
61+
changeTrackingActive: true
62+
changeTrackingMaxQuadsMem: 1000
63+
64+
dataintegration:
65+
config:
66+
# pwgen 16 1
67+
passwordCryptKey: "Peek1uh1Ui8viequ"
68+
# pwgen 40 1
69+
playHTTPSecret: "waejai5aiMoShuvahcai3iaC3eefeichahYaemac"
70+
persistence:
71+
storageClassName: local-path
72+
tmp:
73+
storageClassName: local-path
74+
initContainer:
75+
pythonPluginImageInstall:
76+
enabled: true
77+
automountServiceAccountToken: true
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
3+
# We use a separate, simpler ingress definition
4+
ingress:
5+
enabled: false
6+
7+
license:
8+
# Reference to a secret containing 'graphdb.license' file that will be mounted in the GraphDB pod.
9+
# The value is processed as a Helm template.
10+
existingSecret: "graphdb-license"
11+
# File name of the GraphDB license file in the existing license secret.
12+
# The default is graphdb.license, but it can be changed to map to a different secret key.
13+
licenseFilename: graphdb.license
14+
15+
resources:
16+
limits:
17+
memory: 4Gi
18+
cpu: 2000m
19+
requests:
20+
memory: 4Gi
21+
cpu: 500m
22+
23+
security:
24+
enabled: true
25+
provisioningUsername: provisioner
26+
# bcrypt encrypted password. default: iHaveSuperpowers
27+
provisioningPassword: iHaveSuperpowers
28+
29+
persistence:
30+
enabled: true
31+
volumeClaimTemplate:
32+
name: "storage"
33+
spec:
34+
accessModes: [ "ReadWriteOnce" ]
35+
resources:
36+
requests:
37+
storage: 5Gi
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
postgres:
3+
internal: true
4+
provisioning:
5+
enabled: true
6+
# If true, this will drop the public schema and re-provision the database on every start.
7+
force: true
8+
9+
ingress:
10+
enabled: true
11+
className: nginx
12+
annotations:
13+
cert-manager.io/common-name: "kc.docker.localhost"
14+
hosts:
15+
- host: "kc.docker.localhost"
16+
paths:
17+
- path: /auth
18+
pathType: Prefix
19+
serviceName: keycloak
20+
servicePort: 8080
21+
tls:
22+
- hosts:
23+
- "kc.docker.localhost"
24+
secretName: keycloak-ingress-cert
25+
26+
tests:
27+
# Change this to your ingress controller IP in case you are using
28+
# kind/docker-desktop/k3d with host.docker.internal or docker.localhost
29+
ingressControllerIP: "10.43.82.133"

docs/deploy-and-configure/installation/scenario-k8s-deployment/images/cmem-helm-architecture.svg

Lines changed: 2 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)