Skip to content

Commit 4f572ea

Browse files
authored
Merge pull request #207 from eccenca/feature/adjust-installation
Feature/adjust installation
2 parents 3c0b045 + f648546 commit 4f572ea

File tree

4 files changed

+253
-203
lines changed

4 files changed

+253
-203
lines changed

docs/deploy-and-configure/installation/index.md

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,27 @@ This page describes proven deployment scenarios for eccenca Corporate Memory.
88
All Corporate Memory components are distributed as Docker images and can be obtained from eccenca's container repository service.
99
To run them you need a Docker enabled Linux server.
1010

11+
Corporate Memory uses Ontotext GraphDB triple store as default backend.
12+
You need to copy your license for Ontotext GraphDB to the `license` folder inside Corporate Memory's root folder.
13+
14+
```shell
15+
# create the License folder within ${HOME}/cmem-orchestration
16+
mkdir -p licenses
17+
#copy YOUR-LICENSE-FILE
18+
cp YOUR_SE_LICENSE_FILE \
19+
${HOME}/cmem-orchestration-VERSION/licenses/graphdb-se.license
20+
# or
21+
cp YOUR_EE_LICENSE_FILE \
22+
${HOME}/cmem-orchestration-VERSION/licenses/graphdb-ee.license
23+
```
1124

1225
## Operating Systems (OS)
1326

14-
Corporate Memory is tested on Ubuntu 24.04 (backward compatible with LTS versions older than that) as Debian 11, 12 and 13.
27+
Corporate Memory is tested on Ubuntu 24.04 (backward compatible with older LTS versions) as well as Debian 11, 12, and 13.
1528

16-
Special note on RHEL SELinux Support: there is no limitation for RedHat SELinux. We recommend to keep the SELinux in *enforced* mode. You can keep the default setting of the `/etc/selinux/config` file.
29+
Special note on RHEL SELinux Support: There is no limitation for RedHat SELinux. We recommend keeping the SELinux in *enforced* mode. You can keep the default setting of the `/etc/selinux/config` file.
1730

18-
???+ example "sample config"
31+
???+ example "Sample Config"
1932

2033
```bash title="/etc/selinux/config" linenums="1"
2134
# This file controls the state of SELinux on the system.
@@ -31,19 +44,19 @@ Special note on RHEL SELinux Support: there is no limitation for RedHat SELinux.
3144
SELINUXTYPE=targeted
3245
```
3346

34-
## Docker compose based Orchestration deployment
35-
36-
[Docker Compose](https://docs.docker.com/compose/) is a convenient way to provision several Docker containers locally for development
37-
setups or on remote servers for single node setups.
38-
39-
eccenca is heavily using `docker compose` for all kinds of internal and customer deployments.
40-
For more details on how to use `docker compose` based orchestration refer
41-
to [Scenario: Local Installation](../installation/scenario-local-installation/index.md) and [Scenario: Single Node Cloud Installation](../installation/scenario-single-node-cloud-installation/index.md).
42-
4347
## Helm based Kubernetes deployment
4448

4549
Most production deployments are Kubernetes based.
4650
We have deployments in AWS (EKS), Azure (AKS), Red Hat Openshift and self-hosted clusters.
4751
We provide Charts for Corporate Memory and Keycloak at our [Helm Repository](https://helm.eccenca.com).
48-
For more details on how to use `helm` based deployments refer
49-
to [Scenario: Kubernetes Deployment](../installation/scenario-k8s-deployment/index.md).
52+
For more details on how to use `helm` based deployments, refer to
53+
[Scenario: Kubernetes Deployment](../installation/scenario-k8s-deployment/index.md).
54+
55+
## Docker compose based Orchestration deployment
56+
57+
[Docker Compose](https://docs.docker.com/compose/) is a convenient way to provision several Docker containers locally for development
58+
setups or on remote servers for single node setups.
59+
60+
eccenca uses `docker compose` for all kinds of internal and customer deployments.
61+
For more details on how to use `docker compose` based orchestration, refer to
62+
[Scenario: Local Installation](../installation/scenario-local-installation/index.md) and [Scenario: Single Node Cloud Installation](../installation/scenario-single-node-cloud-installation/index.md).

docs/deploy-and-configure/installation/scenario-k8s-deployment/index.md

Lines changed: 34 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,26 @@ provisioned cluster.
1616

1717
## Requirements
1818

19-
- Access credentials for the eccenca infrastructre (e.g. Docker Registry) → [contact us to get yours](https://eccenca.com/en/contact)
20-
- A license for [GraphDB](https://www.ontotext.com/products/graphdb/)
21-
- [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
22-
- [Helm](https://helm.sh/docs/intro/install/)
23-
- If deploying on K3D, download a [static binary](https://github.com/k3d-io/k3d/releases)
19+
- Access credentials for the eccenca infrastructure (e.g. Docker Registry) → [contact us to get yours](https://eccenca.com/en/contact)
20+
- A GraphDB license ([free](https://www.ontotext.com/products/graphdb/) or commercial)
21+
- [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)
22+
- [Helm](https://helm.sh/docs/intro/install/)
23+
- If deploying on K3D, download a [static binary](https://github.com/k3d-io/k3d/releases)
2424

2525
## Architecture
2626

2727
![CMEM Helm Chart Architecture](images/cmem-helm-architecture.png)
2828

2929
## General Notice
3030

31-
Although this document lists value files for the three charts, we suggest always
32-
looking at the default `values.yaml` file from the archive or repository.
33-
The examples shown here are very basic and should not represent a production
34-
environment. The `CHANGELOG.md` and `README.md` files in the archives or
35-
repositories can also give some insights.
31+
Although this document lists value files for the three charts, we recommend consulting the default `values.yaml` file from the archive or repository.
32+
The examples shown here are very basic and are not intended for a production environment.
33+
The `CHANGELOG.md` and `README.md` files in the archives or repositories can also give some insights.
3634

3735
We assume that the k8s namespaces are already created.
3836
You can either deploy all three components into one namespace or into separate ones.
3937

40-
``` console
38+
```shell
4139
kubectl create namespace graphdb
4240
kubectl create namespace keycloak
4341
kubectl create namespace cmem
@@ -47,19 +45,18 @@ kubectl create namespace cmem
4745

4846
To install GraphDB, we will use the Ontotext Helm chart.
4947
You can get the source code from [github](https://github.com/Ontotext-AD/graphdb-helm/tree/main).
50-
Additionally have a look at GraphDBs [documentation page](https://graphdb.ontotext.com/documentation/).
48+
Additionally have a look at GraphDB's [documentation page](https://graphdb.ontotext.com/documentation/).
5149

52-
Be aware, that with Version 11 of GraphDB you are required to deploy a license
53-
file, even in the Free edition.
54-
You can aquire one by [filling a form](https://www.ontotext.com/products/graphdb/).
50+
Be aware that with Version 11 of GraphDB you are required to deploy a license file, even in the Free edition.
51+
[You can request one here.](https://www.ontotext.com/products/graphdb/)
5552
See also the [licensing documentation](https://graphdb.ontotext.com/documentation/11.1/licensing.html).
5653

5754
### 1. Obtain the chart
5855

5956
You can download the GraphDB chart from [github](https://github.com/Ontotext-AD/graphdb-helm/releases)
6057
or add their repository to your environment with `helm`:
6158

62-
``` console
59+
```shell
6360
helm repo add ontotext https://maven.ontotext.com/repository/helm-public/
6461
helm repo update
6562
```
@@ -117,7 +114,7 @@ persistence:
117114
First, create the license secret as mentioned above.
118115
Then, install the GraphDB chart using `helm`:
119116

120-
``` console
117+
```shell
121118
kubectl --namespace graphdb create secret generic graphdb-license \
122119
--from-file graphdb.license
123120
@@ -135,14 +132,14 @@ you can use `kubectl port-forward`. This is useful for initial setup and verific
135132

136133
First, get the name of the GraphDB service:
137134

138-
``` console
135+
```shell
139136
kubectl get svc --namespace graphdb
140137
```
141138

142139
Assuming the service is named `graphdb`, forward a local port to the
143140
service port (`7200`):
144141

145-
``` console
142+
```shell
146143
kubectl port-forward svc/graphdb 7200:7200 --namespace graphdb
147144
```
148145

@@ -155,23 +152,22 @@ provided Helm chart.
155152

156153
### 1. Obtain the chart
157154

158-
We strongly recommend to download the chart and execute the install commands against a local environment.
155+
We strongly recommend downloading the chart and executing the install commands against a local environment.
159156

160-
161-
``` console
157+
```shell
162158
wget https://helm.eccenca.com/keycloak/latest.tgz
163159
tar -xzf latest.tgz
164160
```
165161

166-
``` console
162+
```shell
167163
# this requires gitlab.eccenca.com access
168164
git clone ssh://[email protected]:8101/devops/keycloak-helm.git
169165
```
170166

171-
You can also use the helm package manger, but then you have to take care about restoring from a backup on your own.
172-
The mechanism for that is included in the chart, but the helm command requires you have the sql dump file on your local machine.
167+
You can also use the Helm package manager, but then you have to handle restoring from a backup on your own.
168+
The mechanism for that is included in the chart, but the helm command requires you have the SQL dump file on your local machine.
173169

174-
``` console
170+
```shell
175171
helm repo add --force-update eccenca https://helm.eccenca.com
176172
helm repo update eccenca
177173
```
@@ -220,15 +216,15 @@ Use `helm` to deploy the chart into the `keycloak` namespace.
220216

221217
With local extracted helm chart:
222218

223-
``` console
219+
```shell
224220
helm upgrade -i keycloak ./keycloak-helm \
225221
--namespace keycloak \
226222
-f keycloak-values.yaml
227223
```
228224

229225
Or from helm repository:
230226

231-
``` console
227+
```shell
232228
helm upgrade --install keycloak eccenca/keycloak-helm \
233229
--namespace keycloak \
234230
-f keycloak-values.yaml
@@ -262,26 +258,26 @@ NOTES:
262258
https://kc.docker.localhost/auth
263259
```
264260

265-
## Installation Corporate Memory
261+
## Corporate Memory Installation
266262

267263
This guide provides instructions on how to install the chart using `kubectl`
268264
and `helm`.
269265
You need to have a keycloak instance and a supported graph database installed.
270266

271267
### 1. Obtain the chart
272268

273-
``` console
269+
```shell
274270
wget https://releases.eccenca.com/cmem-helm/latest.tgz
275271
tar -xzf latest.tgz
276272
cd cmem
277273
```
278274

279-
``` console
275+
```shell
280276
helm repo add --force-update cmem-helm https://helm.eccenca.com
281277
helm repo update cmem-helm
282278
```
283279

284-
``` console
280+
```shell
285281
# this requires gitlab.eccenca.com access
286282
git clone https://gitlab.eccenca.com/cmem/cmem-helm.git
287283
```
@@ -294,7 +290,7 @@ a license intended for non-commercial usage.
294290

295291
If you have a dedicated license file, create a secret with a `license.asc` data entry:
296292

297-
``` console
293+
```shell
298294
kubectl create secret generic cmem-license \
299295
--from-file license.asc
300296
--namespace cmem
@@ -370,7 +366,7 @@ Setting up Graph Insights in Kubernetes deployment done with helm is described i
370366
To pull the Corporate Memory images, you need to provide credentials for the eccenca
371367
Docker Registry.
372368

373-
``` console
369+
```shell
374370
kubectl create secret docker-registry eccenca-docker-registry-credentials \
375371
--docker-server=https://docker-registry.eccenca.com \
376372
--docker-username=<your-docker-username> \
@@ -384,8 +380,8 @@ Now use `helm` to deploy the chart.
384380
This command will install the chart in the specified namespace using your
385381
custom configuration.
386382

387-
``` console
388-
# In case you have the chart or repostiory locally available
383+
```shell
384+
# In case you have the chart or repository locally available
389385
helm upgrade --install cmem . \
390386
--namespace cmem \
391387
-f cmem-values.yaml
@@ -400,13 +396,13 @@ helm upgrade --install cmem cmem-helm/cmem \
400396

401397
After the installation is complete, you can check the status of the pods:
402398

403-
``` console
399+
```shell
404400
kubectl get pods --namespace cmem
405401
```
406402

407403
You can also check the rollout status of the StatefulSets:
408404

409-
``` console
405+
```shell
410406
kubectl rollout status statefulset/explore --namespace cmem
411407
kubectl rollout status statefulset/dataintegration --namespace cmem
412408
```

0 commit comments

Comments
 (0)