Changes for page XWiki (Helm)

Last modified by Itzhak Daniel on 2024/04/29 16:35

From version 22.1
edited by Itzhak Daniel
on 2024/04/29 16:35
Change comment: There is no comment for this version
To version 18.1
edited by Itzhak Daniel
on 2024/04/29 00:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -49,7 +49,7 @@
49 49  git clone --depth 1 --branch master https://github.com/xwiki/xwiki-docker.git
50 50  {{/code}}
51 51  
52 -Once you have the repo locally, modify the [[//Dockerfile//>>attach:Dockerfile]] as shown below:
52 +Once you have the repo locally, modify the //Dockerfile// as shown below:
53 53  
54 54  {{code language="git" title="# Diff"}}
55 55  @@ -89,6 +89,11 @@ COPY xwiki/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
... ... @@ -71,15 +71,15 @@
71 71  
72 72  {{code language="sh" layout="LINENUMBERS" title="# Docker"}}
73 73  cd ./16/mysql-tomcat/
74 -docker build -t behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-3 .
74 +docker build -t behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-2 .
75 75  docker login
76 -docker push behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-3
76 +docker push behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-2
77 77  {{/code}}
78 78  
79 79  {{code language="sh" layout="LINENUMBERS" title="# Podman"}}
80 80  cd ./16/mysql-tomcat/
81 -buildah build -f Dockerfile -t behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-3
82 -podman push --creds=[Username:[Password]] behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-3
81 +buildah build -f Dockerfile -t behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-2
82 +docker push --creds=[Username:[Password]] behemothil/xwiki-mysql-tomcat-nonroot:16.2.0-2
83 83  {{/code}}
84 84  
85 85  === Deploy ===
... ... @@ -86,7 +86,7 @@
86 86  
87 87  We're going to deploy XWiki as a [[statefulset>>https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/]] using [[Helm>>https://helm.sh/]], the Database (MySQL) and the App, each will have a volume to store their information. As I mentioned, in our case, we need to perform several additional steps.
88 88  
89 -After the path/loop devices were created, create the [[PVs>>attach:pv_storage.yaml]] (only if your cluster doesn't know how to provision storage for itself):
89 +After the path/loop devices were created, create the PVs (only if your cluster doesn't know how to provision storage for itself):
90 90  
91 91  {{code language="sh" layout="LINENUMBERS" title="# kubectl stdin"}}
92 92  kubectl create -f - <<EOF
... ... @@ -181,15 +181,15 @@
181 181  Theoretically, if there aren't any breaking changes or prerequisites, you can run:
182 182  
183 183  {{code language="sh" layout="LINENUMBERS" title="# Helm upgrade"}}
184 -helm repo update xwiki-helm
185 185  helm upgrade --namespace behemoth-wiki \
186 186   --values values.yaml \
187 187   behemoth-xwiki xwiki-helm/xwiki
187 +
188 188  {{/code}}
189 189  
190 190  === Uninstall ===
191 191  
192 -To fully remove XWiki from your cluster, use the following commands:
192 +To fully remove XWiki, use the following commands:
193 193  
194 194  {{code language="sh" layout="LINENUMBERS" title="# Uninstalling"}}
195 195  helm uninstall --namespace behemoth-wiki behemoth-xwiki
Dockerfile
Size
... ... @@ -1,1 +1,1 @@
1 -6722
1 +6730
Content
... ... @@ -91,7 +91,7 @@
91 91  
92 92  # Added by Behemoth LTD - Apr 28th, 2024
93 93  # Fixing permissions error when using non-root user/group (30001:30001) to start the app
94 -RUN chown -R 30001:30001 /usr/local/tomcat
94 +RUN chown -R 30001:30001 /usr/local/tomcat/webapps
95 95  USER 30001:30001
96 96  
97 97  # At this point the image is done and what remains below are the runtime configuration used by the user to configure
values.yaml
Size
... ... @@ -1,1 +1,1 @@
1 -5.5 KB
1 +4.1 KB
Content
... ... @@ -1,6 +4,3 @@
1 -# Default values for node.
2 -# This is a YAML-formatted file.
3 -# Declare variables to be passed into your templates.
4 4  cluster:
5 5   enabled: false
6 6  
... ... @@ -7,11 +7,8 @@
7 7  image:
8 8   name: xwiki
9 9   pullPolicy: IfNotPresent
10 -## Image Tag useful when externalDB is been used
11 -## https://hub.docker.com/_/xwiki
12 12   name: "behemothil/xwiki-mysql-tomcat-nonroot"
13 - tag: "16.2.0-2"
14 -# tag: '16.2.0-mysql-tomcat'
8 + tag: "16.2.0-1"
15 15  service:
16 16   portName: node
17 17   name: http
... ... @@ -18,11 +18,7 @@
18 18   type: ClusterIP
19 19   externalPort: 80
20 20   internalPort: 8080
21 - # Set an array of externalIPs for the service
22 22   externalIPs: []
23 - # - 10.20.30.40
24 - # - 10.20.30.41
25 - # Reference: https://kubernetes.io/docs/reference/networking/virtual-ips/#session-affinity
26 26   sessionAffinity: ClientIP
27 27  resources:
28 28   limits:
... ... @@ -36,7 +36,6 @@
36 36   - -Xms1024m
37 37   - -Xmx6000m
38 38  
39 -# Enable to choose witch kind of workload will be used: (true) StatefulSet or (false) for Deployment
40 40  workloadStateful: true
41 41  
42 42  securityContext:
... ... @@ -65,36 +65,20 @@
65 65   type: "RuntimeDefault"
66 66   enabled: true
67 67  
68 -##
69 -## MySql chart configuration
70 -##
71 -## https://github.com/bitnami/charts/tree/main/bitnami/mysql
72 -##
73 73  mysql:
74 - ## Whether to deploy a mysql server. Set false for a different database.
75 75   enabled: true
76 76   image:
77 77   tag: "8.0-debian-12"
78 78   pullPolicy: "IfNotPresent"
79 79   auth:
80 - rootPassword: "Wxv11dZmzw4YIozxj1"
81 - username: "xwiki"
82 - password: "3N5NBYnb5VQfDA2gde"
83 - database: "xwiki"
63 + rootPassword: "ROOT_PASSWORD_CHANGEME !!!"
64 + username: "USERNAME_CHANGEME !!!"
65 + password: "USER_PASSWORD_CHANGEME !!!"
66 + database: "DB_NAME_CHANGEME !!!"
84 84   initdbScripts:
85 85   00-init.sql: |
86 86   grant all privileges on *.* to xwiki@'%'
87 87   primary:
88 - # initContainers:
89 - # - name: "fix-non-root-permissions"
90 - # image: "busybox"
91 - # imagePullPolicy: "IfNotPresent"
92 - # command: [ "chown", "-R", "30001:30001", "/opt/bitnami" ]
93 - # volumeMounts:
94 - # - name: conf
95 - # mountPath: /opt/bitnami
96 - # Changed to use UTF8mb4, check future versions if this was already changed.
97 - # TODO: review explicit_defaults_for_timestamp
98 98   configuration: |-
99 99   [mysqld]
100 100   default_authentication_plugin=mysql_native_password
... ... @@ -145,25 +145,12 @@
145 145   seccompProfile:
146 146   type: "RuntimeDefault"
147 147  
148 -mariadb:
149 - enabled: false
150 -
151 -postgresql:
152 - enabled: false
153 -
154 -solr:
155 - enabled: false
156 -
157 -# To use ingress for routing set ingress.enabled value to true and istio.enabled value to false
158 158  ingress:
159 159   enabled: true
160 160   className: nginx
161 161   annotations:
162 162   kubernetes.io/ingress.class: nginx
163 -# nginx.ingress.kubernetes.io/whitelist-source-range: "152.67.64.124/32, 178.255.149.139/32"
164 164   cert-manager.io/cluster-issuer: letsencrypt-prod
165 - # kubernetes.io/tls-acme: "true"
166 - # ingress.kubernetes.io/rewrite-target: /
167 167   hosts:
168 168   - host: wiki.behemoth.co.il
169 169   paths:
... ... @@ -174,9 +174,6 @@
174 174   hosts:
175 175   - wiki.behemoth.co.il
176 176  
177 -istio:
178 - enabled: false
179 -
180 180  persistence:
181 181   enabled: true
182 182   storageClass: "behemoth-xwiki-www"
... ... @@ -184,19 +184,6 @@
184 184   - ReadWriteOnce
185 185   size: "5Gi"
186 186  
187 -podDisruptionBudget:
188 - enabled: false
189 -
190 -glowroot:
191 - enabled: false
192 -
193 -logback:
194 - enabled: false
195 -
196 -autoscaling:
197 - enabled: false
198 -
199 -# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
200 200  probes:
201 201   startup:
202 202   enabled: true
... ... @@ -216,7 +216,6 @@
216 216   initialDelaySeconds: 30
217 217   timeoutSeconds: 3
218 218   periodSeconds: 30
219 - # 5 minutes
220 220   failureThreshold: 10
221 221   successThreshold: 1
222 222   readiness:
... ... @@ -227,13 +227,9 @@
227 227   initialDelaySeconds: 30
228 228   timeoutSeconds: 3
229 229   periodSeconds: 30
230 - # 5 minutes
231 231   failureThreshold: 10
232 232   successThreshold: 1
233 233  
234 -infinispan:
235 - enabled: false
236 -
237 237  prometheus:
238 238   javaagent:
239 239   # https://github.com/prometheus/jmx_exporter
... ... @@ -240,3 +240,23 @@
240 240   # Enable to download and use this agent
241 241   enabled: true
242 242  
182 +podDisruptionBudget:
183 + enabled: false
184 +
185 +solr:
186 + enabled: false
187 +istio:
188 + enabled: false
189 +
190 +glowroot:
191 + enabled: false
192 +
193 +logback:
194 + enabled: false
195 +
196 +autoscaling:
197 + enabled: false
198 +
199 +infinispan:
200 + enabled: false
201 +