k9casca2/serveis/etherpad/estructura
2025-04-08 09:54:04 +02:00

257 lines
8.0 KiB
Plaintext

usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ tree
.
├── etherpad-lite-k8s
│   ├── configmap.yaml
│   ├── deployment.yaml
│   ├── kustomization.yaml
│   └── service.yaml
├── etherpad-lite-k8s-kubedb-mysql
│   ├── configmap.yaml
│   ├── deployment.yaml
│   ├── kustomization.yaml
│   └── name-prefix-transformer-config.yaml
├── kubedb-mysql-etherpad-lite
│   ├── etherpad-mysql.yaml
│   ├── kustomization.yaml
│   ├── README.md
│   └── transformer-config-kubedb.yaml
├── kubedb-mysql-etherpad-lite-with-init-script
│   ├── etherpad-mysql-init-configmap.yaml
│   ├── etherpad-mysql-with-init-script.yaml
│   └── kustomization.yaml
└── test-etherpad-lite-mysql-with-namePrefix
└── kustomization.yaml
6 directories, 16 files
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: etherpad
data:
settings.json: |
{
"skinName":"colibris",
"title":"Etherpad on Kubernetes"
}
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: etherpad
spec:
replicas: 1
selector:
matchLabels:
app: etherpad
template:
metadata:
labels:
app: etherpad
spec:
containers:
- name: etherpad
image: etherpad/etherpad:1.7.5
ports:
- containerPort: 9001
name: web
volumeMounts:
- name: "config"
mountPath: "/opt/etherpad/settings.json"
subPath: "settings.json"
volumes:
- name: config
configMap:
name: etherpad
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- configmap.yaml
- deployment.yaml
- service.yaml
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s/service.yaml
apiVersion: v1
kind: Service
metadata:
name: etherpad
spec:
selector:
app: etherpad
ports:
- name: web
port: 80
targetPort: web
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s-kubedb-mysql/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: etherpad
data:
settings.json: |
{
"skinName":"colibris",
"title":"Etherpad on Kubernetes w/ MySQL",
"dbType": "${ETHERPAD_DB_TYPE:mysql}",
"dbSettings": {
"database": "${ETHERPAD_DB_DATABASE}",
"host": "${ETHERPAD_DB_HOST}",
"password": "${ETHERPAD_DB_PASSWORD}",
"user": "${ETHERPAD_DB_USER}"
}
}
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s-kubedb-mysql/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: etherpad
spec:
template:
spec:
containers:
- name: etherpad
env:
- name: ETHERPAD_DB_TYPE
value: mysql
- name: ETHERPAD_DB_HOST
value: $(MYSQL_SERVICE)
- name: ETHERPAD_DB_DATABASE
value: etherpad_lite_db
- name: ETHERPAD_DB_USER
valueFrom:
secretKeyRef:
name: etherpad-mysql-auth
key: username
- name: ETHERPAD_DB_PASSWORD
valueFrom:
secretKeyRef:
name: etherpad-mysql-auth
key: password
volumeMounts:
- name: "config"
mountPath: "/opt/etherpad-lite/settings.json"
subPath: "settings.json"
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s-kubedb-mysql/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../kubedb-mysql-etherpad-lite-with-init-script
- ../etherpad-lite-k8s
patchesStrategicMerge:
- configmap.yaml
- deployment.yaml
images:
- name: etherpad/etherpad
# This is required until etherpad-lite 1.8 comes out to be able to use env vars in settings.json
newTag: latest
configurations:
- name-prefix-transformer-config.yaml
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat etherpad-lite-k8s-kubedb-mysql/name-prefix-transformer-config.yaml
namePrefix:
- apiVersion: apps/v1
kind: Deployment
path: spec/template/spec/containers/env/valueFrom/secretKeyRef/name
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite/etherpad-mysql.yaml
apiVersion: kubedb.com/v1alpha1
kind: MySQL
metadata:
name: etherpad-mysql
spec:
version: "5.7.25"
storageType: Durable
terminationPolicy: WipeOut
storage:
storageClassName: "default"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- etherpad-mysql.yaml
vars:
- name: MYSQL_SERVICE
objref:
apiVersion: kubedb.com/v1alpha1
kind: MySQL
name: etherpad-mysql
fieldref:
fieldpath: metadata.name
configurations:
- transformer-config-kubedb.yaml
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite/README.md
# kubedb-mysql-etherpad-lite
This is *just* the kubedb MySQL resource for etherpad-lite. Compose it with something like ../etherpad-lite-k8s to get a full setup.
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- etherpad-mysql.yaml
vars:
- name: MYSQL_SERVICE
objref:
apiVersion: kubedb.com/v1alpha1
kind: MySQL
name: etherpad-mysql
fieldref:
fieldpath: metadata.name
configurations:
- transformer-config-kubedb.yaml
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite/transformer-config-kubedb.yaml
namePrefix:
- apiVersion: kubedb.com/v1alpha1
kind: MySQL
path: spec/init/scriptSource/configMap/name
nameReference:
- version: v1
kind: ConfigMap
fieldSpecs:
- version: kubedb.com/v1alpha1
kind: MySQL
path: spec/init/scriptSource
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite-with-init-script/etherpad-mysql-init-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: etherpad-mysql-init
data:
init.sql: |
create database `etherpad_lite_db`;
use `etherpad_lite_db`;
CREATE TABLE `store` (
`key` varchar(100) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`value` longtext COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite-with-init-script/etherpad-mysql-with-init-script.yaml
apiVersion: kubedb.com/v1alpha1
kind: MySQL
metadata:
name: etherpad-mysql
spec:
init:
scriptSource:
configMap:
name: etherpad-mysql-init
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat kubedb-mysql-etherpad-lite-with-init-script/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../kubedb-mysql-etherpad-lite
resources:
- etherpad-mysql-init-configmap.yaml
patchesStrategicMerge:
- etherpad-mysql-with-init-script.yaml
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$ cat test-etherpad-lite-mysql-with-namePrefix/kustomization.yaml
bases:
- ../etherpad-lite-k8s-kubedb-mysql
namePrefix: test-namePrefix-
usuari@CASCA:~/Nextcloud/EC/Documents/fct/k9/serveis/etherpad/etherpad-lite/lib$