Browse Source

Pruebas HTTPS, Cambio de directorio de NextCloud y pruebas miweb

main
Celestino Rey 2 years ago
parent
commit
68734da237
41 changed files with 824 additions and 132 deletions
  1. +14
    -0
      HTTPS/certbot-claim0-persistentvolumeclaim.yaml
  2. +14
    -0
      HTTPS/certbot-claim1-persistentvolumeclaim.yaml
  3. +44
    -0
      HTTPS/certbot-deployment.yaml
  4. +1
    -0
      HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/meta.json
  5. +1
    -0
      HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/private_key.json
  6. +1
    -0
      HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/regr.json
  7. +8
    -0
      HTTPS/certbot/conf/csr/0000_csr-certbot.pem
  8. +7
    -0
      HTTPS/certbot/conf/csr/0001_csr-certbot.pem
  9. +5
    -0
      HTTPS/certbot/conf/keys/0000_key-certbot.pem
  10. +5
    -0
      HTTPS/certbot/conf/keys/0001_key-certbot.pem
  11. +17
    -0
      HTTPS/docker-compose.yml
  12. +15
    -0
      HTTPS/nginx/conf/nginx.conf
  13. +14
    -0
      HTTPS/webserver-claim0-persistentvolumeclaim.yaml
  14. +14
    -0
      HTTPS/webserver-claim1-persistentvolumeclaim.yaml
  15. +51
    -0
      HTTPS/webserver-deployment.yaml
  16. +22
    -0
      HTTPS/webserver-service.yaml
  17. +45
    -0
      HelmCharts/default.conf
  18. +1
    -1
      HelmCharts/entra-miweb.sh
  19. +14
    -0
      HelmCharts/helmMiweb.sh
  20. +14
    -0
      HelmCharts/helmNextCloud.sh
  21. +0
    -62
      HelmCharts/miweb-chart/templates/_helpers.tpl
  22. +45
    -0
      HelmCharts/miweb-chart/templates/certbot-deployment.yaml
  23. +0
    -40
      HelmCharts/miweb-chart/templates/deployment.yaml
  24. +0
    -13
      HelmCharts/miweb-chart/templates/example.yaml
  25. +83
    -0
      HelmCharts/miweb-chart/templates/miweb-deployment.yaml
  26. +0
    -14
      HelmCharts/miweb-chart/templates/pv-claim.yaml
  27. +23
    -0
      HelmCharts/nextcloud-chart/.helmignore
  28. +24
    -0
      HelmCharts/nextcloud-chart/Chart.yaml
  29. +70
    -0
      HelmCharts/nextcloud-chart/templates/mysql-deployment.yaml
  30. +51
    -0
      HelmCharts/nextcloud-chart/templates/nextcloud-deployment.yaml
  31. +9
    -0
      HelmCharts/nextcloud-chart/templates/nextcloud-secrets.yaml
  32. +56
    -0
      HelmCharts/nextcloud-chart/templates/php-deployment.yaml
  33. +13
    -0
      HelmCharts/nextcloud-chart/templates/pvc-nextcloud.yaml
  34. +11
    -0
      HelmCharts/nextcloud-chart/templates/registry-secrets.yaml
  35. +82
    -0
      HelmCharts/nextcloud-chart/values.yaml
  36. +11
    -0
      HelmCharts/preparaMiweb/pv-local-miweb-certbot.yaml
  37. +11
    -0
      HelmCharts/preparaMiweb/pv-local-miweb-conf.yaml
  38. +2
    -2
      HelmCharts/preparaMiweb/pv-local-miweb.yaml
  39. +4
    -0
      HelmCharts/preparaNextCloud/nc-namespace.yaml
  40. +11
    -0
      HelmCharts/preparaNextCloud/pv-local-mysql.yaml
  41. +11
    -0
      HelmCharts/preparaNextCloud/pv-local-nextcloud.yaml

+ 14
- 0
HTTPS/certbot-claim0-persistentvolumeclaim.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: certbot-claim0
name: certbot-claim0
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}

+ 14
- 0
HTTPS/certbot-claim1-persistentvolumeclaim.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: certbot-claim1
name: certbot-claim1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}

+ 44
- 0
HTTPS/certbot-deployment.yaml View File

@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: certbot
name: certbot
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: certbot
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: certbot
spec:
containers:
- image: certbot/certbot:latest
name: certbot
resources: {}
volumeMounts:
- mountPath: /var/www/certbot/
name: certbot-claim0
- mountPath: /etc/letsencrypt/
name: certbot-claim1
restartPolicy: Always
volumes:
- name: certbot-claim0
persistentVolumeClaim:
claimName: certbot-claim0
- name: certbot-claim1
persistentVolumeClaim:
claimName: certbot-claim1
status: {}

+ 1
- 0
HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/meta.json View File

@ -0,0 +1 @@
{"creation_dt": "2023-02-01T09:26:45Z", "creation_host": "f4594feda273"}

+ 1
- 0
HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/private_key.json View File

@ -0,0 +1 @@
{"n": "16P-IALymGf5NQxYwovtP6MbSReUJtQrfIFVYZVV5tWy3y3Qf7gjwwjq4Fa9sHrn_KmUvUkBWtikAohOw8SCv-IUakxjTWIHAEIyjU9oK57olnCmdGnYQWza0ffCU69H3piMagG7es2kl4s24E1dHO37cBm8GQ-UH-0xDZ3CsWoGQLY8u9bGocdQbujozGCsaMxRso4SdkBqB3S-sJEwiKZr4iBlXCnvv0YW6t0WlfqVKzpQvU5u4UW7BBWCoxBTY0Ehj20BYsHC31mXh5d4e4Rn_THzBg9IZsKdEjNbMXETMauaW3JisMgONT8htdQUlQz1lHgWPVKi-iW0dFYJfQ", "e": "AQAB", "d": "LzFf-JQEkTeyCbrPwxX6AHMbEdpD7WKCON-aNr7Gu7vZh2_goU8Enpa5RosdPP4M_tYDLBDJ596hOD-qEzySy9k31BKvKdySASu7ogL2npNKvj_dof0XG6xt0EVrhUKHVU8n7bw-0k-mnZbVVe4AeogXvs8XBBoNdhZEJcF4vjg5pvQcK-HIOi9Fs7yUHaTqo-qQgDRBH7TjY8Uq72X--SOWV05iofQ3--riT0GWWgyld3pDgAHsM8zhyOq8XlItbS3tUTYsc4Lw8vrvx2R7aDWtzCP0LC5E1sO0WhnfHHMdaKWSJ2JDhmiJs3zF__iu95yGYIbe8Z0RX2qnVV32uQ", "p": "-hTTf6UEUOkSN4SxHcluGl0kKk7f9plyUpX5gmtZYg6MSXOAj2DkPWOim5ep_-QJdI-rTnAFbEeXVtxfCkVxmmHIPdaC7pjBA23qcdHWMu8JkrHSEM6nzIl0vI2QgXWZCDuZG6-7jjef8MKpfd1urLMkecDwuK34OhZcT1WNnNU", "q": "3L5_3iZNYLEbusaqy4ndlrPcFhSJ6QMc2PBKi3yCmXootVaL_TmQAtOaMkNdd_NO-KaqVNM9ydnJtQt0EVnG-eEqBmL1nl4L92nnbytlU9VPYDbiWQ9STArqd2Wf2kSYz80mYJ1CF4hJbqVAyrO8aj8h2q2SzpnMhqBF-9EYbgk", "dp": "NfXacPdtR_wSdzJFeVTmUf_49rwQLUiM128O6Go7XiIfeRXYDpfsh6aBBquh_dn5hFIft4wKT4PfDtn8E95KFfK1X0py9AK32wKTjL2nR1Q2r5V46zF8GXErZCfzn0t9mr4pWkT_5j7wXuXR5pup7s-0tiTAjEjVf8slXeTq6oU", "dq": "0Sdu4H5KMqOdMouqqNAoNPKWRhWP1kgsvSBwgVmoJOOqTqeCXJx95y-3mohZt53B5beFDHpawTap9_CyOP5nmbvOpd59-2AA1pxxvNPRXm1umCtorBnoUETHg_m2TIlSgRJQmppmVQW9DilmCqnijIjk-t4bi8YOFEEoDkFAdIE", "qi": "ATb2ooVw9dyrJpGbKedTz-NiGYX7n9oypPUKccy7B-UM8OD2ulmRrs2n8IQsY3JYeYfuAF-FXiRQJWIujpBR-Ao3w4eKU1kf-ucyWLyfLAaCM5F7U6cAaGN3jVblefCrLzbEKpbjc6XJtu6nKYEz1af4yQYcTWFTC4hjZwAvgCw", "kty": "RSA"}

+ 1
- 0
HTTPS/certbot/conf/accounts/acme-v02.api.letsencrypt.org/directory/c969070eddffc3f18a9faeeb772e0d49/regr.json View File

@ -0,0 +1 @@
{"body": {}, "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/943534587"}

+ 8
- 0
HTTPS/certbot/conf/csr/0000_csr-certbot.pem View File

@ -0,0 +1,8 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHvMIGWAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATars0S63nlblI4
2A31mqLGhFOqrLzHl/PjalG02zLr1KsBzA/6gPdtXXZw91TSjmG9tyHaI7naVTla
jHR6VQghoDQwMgYJKoZIhvcNAQkOMSUwIzAhBgNVHREEGjAYghZyZXltb3RhLmRk
bnMubmV0OjMyMDgwMAoGCCqGSM49BAMCA0gAMEUCIQCDczOIb2HG0Ha/iow9h5zo
bPpPRytdP3GgBHlOlyPujgIgB6E44CIy/6FLACPLJGyRSQ6kxRpsLGiCEHtZJSt9
Vs8=
-----END CERTIFICATE REQUEST-----

+ 7
- 0
HTTPS/certbot/conf/csr/0001_csr-certbot.pem View File

@ -0,0 +1,7 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHpMIGQAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT05+0vm9vlNnsf
wiFQLToVJfmAkmbTpLZNKinXw00EtFAJTGff2gZ638zqcu3hXLknbLVj2n8WqHYA
I9F+SEVLoC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASghByZXltb3RhLmRk
bnMubmV0MAoGCCqGSM49BAMCA0gAMEUCIHkFY6vSjYUB7lLI4uQPVJiwvTohT7Po
D4AjbG7dx+FhAiEA+msGjSQGcyZBL6RVPFaZw0GHaMgAKWCPcNUt0sUFZdI=
-----END CERTIFICATE REQUEST-----

+ 5
- 0
HTTPS/certbot/conf/keys/0000_key-certbot.pem View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgX47hYo5mX70vHNCh
pqXiiET3RBxF7/xnVhzE5TKou0mhRANCAATars0S63nlblI42A31mqLGhFOqrLzH
l/PjalG02zLr1KsBzA/6gPdtXXZw91TSjmG9tyHaI7naVTlajHR6VQgh
-----END PRIVATE KEY-----

+ 5
- 0
HTTPS/certbot/conf/keys/0001_key-certbot.pem View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgU+yxM3TUNGNAUtEF
s1euxemWrCasGvLlDns6/zaZIMChRANCAAT05+0vm9vlNnsfwiFQLToVJfmAkmbT
pLZNKinXw00EtFAJTGff2gZ638zqcu3hXLknbLVj2n8WqHYAI9F+SEVL
-----END PRIVATE KEY-----

+ 17
- 0
HTTPS/docker-compose.yml View File

@ -0,0 +1,17 @@
version: '3'
services:
webserver:
image: nginx:latest
ports:
- 80:80
- 443:443
restart: always
volumes:
- ./nginx/conf:/etc/nginx/conf.d/:ro
- ./certbot/www:/var/www/certbot/:ro
certbot:
image: certbot/certbot:latest
volumes:
- ./certbot/www/:/var/www/certbot/:rw
- ./certbot/conf/:/etc/letsencrypt/:rw

+ 15
- 0
HTTPS/nginx/conf/nginx.conf View File

@ -0,0 +1,15 @@
server {
listen 80;
listen [::]:80;
server_name reymota.ddns.net;
server_tokens off;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://reymota.ddns.net:30080$request_uri;
}
}

+ 14
- 0
HTTPS/webserver-claim0-persistentvolumeclaim.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: webserver-claim0
name: webserver-claim0
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 100Mi
status: {}

+ 14
- 0
HTTPS/webserver-claim1-persistentvolumeclaim.yaml View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: webserver-claim1
name: webserver-claim1
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 100Mi
status: {}

+ 51
- 0
HTTPS/webserver-deployment.yaml View File

@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: webserver
name: webserver
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: webserver
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: webserver
spec:
containers:
- image: nginx:latest
name: webserver
ports:
- containerPort: 80
- containerPort: 443
resources: {}
volumeMounts:
- mountPath: /etc/nginx/conf.d/
name: webserver-claim0
readOnly: true
- mountPath: /var/www/certbot/
name: webserver-claim1
readOnly: true
restartPolicy: Always
volumes:
- name: webserver-claim0
persistentVolumeClaim:
claimName: webserver-claim0
readOnly: true
- name: webserver-claim1
persistentVolumeClaim:
claimName: webserver-claim1
readOnly: true
status: {}

+ 22
- 0
HTTPS/webserver-service.yaml View File

@ -0,0 +1,22 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.26.0 (40646f47)
creationTimestamp: null
labels:
io.kompose.service: webserver
name: webserver
spec:
ports:
- name: "80"
port: 80
targetPort: 80
- name: "443"
port: 443
targetPort: 443
selector:
io.kompose.service: webserver
status:
loadBalancer: {}

+ 45
- 0
HelmCharts/default.conf View File

@ -0,0 +1,45 @@
server {
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

+ 1
- 1
HelmCharts/entra-miweb.sh View File

@ -1 +1 @@
kubectl exec -ti deployment.apps/miweb-miweb-chart -- /bin/bash
kubectl exec -ti deployment.apps/miweb -- /bin/bash

+ 14
- 0
HelmCharts/helmMiweb.sh View File

@ -0,0 +1,14 @@
#!/bin/bash
if [ "$1" = "i" ]
then
kubectl apply -f ./preparaMiweb/pv-local-miweb.yaml
kubectl apply -f ./preparaMiweb/pv-local-miweb-certbot.yaml
kubectl apply -f ./preparaMiweb/pv-local-miweb-conf.yaml
helm install miweb miweb-chart/
else
helm uninstall miweb
kubectl delete -f ./preparaMiweb/pv-local-miweb.yaml
kubectl delete -f ./preparaMiweb/pv-local-miweb-certbot.yaml
kubectl delete -f ./preparaMiweb/pv-local-miweb-conf.yaml
fi

+ 14
- 0
HelmCharts/helmNextCloud.sh View File

@ -0,0 +1,14 @@
#!/bin/bash
if [ "$1" = "i" ]
then
kubectl apply -f ./preparaNextCloud/nc-namespace.yaml
kubectl apply -f ./preparaNextCloud/pv-local-mysql.yaml
kubectl apply -f ./preparaNextCloud/pv-local-nextcloud.yaml
helm install nextcloud nextcloud-chart/
else
helm uninstall nextcloud
kubectl delete -f ./preparaNextCloud/nc-namespace.yaml
kubectl delete -f ./preparaNextCloud/pv-local-mysql.yaml
kubectl delete -f ./preparaNextCloud/pv-local-nextcloud.yaml
fi

+ 0
- 62
HelmCharts/miweb-chart/templates/_helpers.tpl View File

@ -1,62 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "miweb-chart.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "miweb-chart.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "miweb-chart.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "miweb-chart.labels" -}}
helm.sh/chart: {{ include "miweb-chart.chart" . }}
{{ include "miweb-chart.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "miweb-chart.selectorLabels" -}}
app.kubernetes.io/name: {{ include "miweb-chart.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "miweb-chart.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "miweb-chart.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

+ 45
- 0
HelmCharts/miweb-chart/templates/certbot-deployment.yaml View File

@ -0,0 +1,45 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: miweb-certbot-pv-claim
labels:
app: miweb
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 200M
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: miweb-certbot
labels:
app: miweb
spec:
selector:
matchLabels:
app: miweb
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: miweb
tier: frontend
spec:
containers:
- name: certbot
image: certbot/certbot:latest
volumeMounts:
- name: miweb-certbot-folder
mountPath: /var/www/certbot
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: miweb-certbot-folder
persistentVolumeClaim:
claimName: miweb-certbot-pv-claim

+ 0
- 40
HelmCharts/miweb-chart/templates/deployment.yaml View File

@ -1,40 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "miweb-chart.fullname" . }}
labels:
app: nginx
{{- include "miweb-chart.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
app: nginx
tier: frontend
{{- include "miweb-chart.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
app: nginx
tier: frontend
{{- include "miweb-chart.selectorLabels" . | nindent 8 }}
spec:
containers:
- env:
- name: KUBERNETES_CLUSTER_DOMAIN
value: {{ .Values.kubernetesClusterDomain }}
image: {{ .Values.example.nginx.image.repository }}:{{ .Values.example.nginx.image.tag
| default .Chart.AppVersion }}
name: nginx
ports:
- containerPort: 80
name: nginx-http
resources: {}
volumeMounts:
- mountPath: /usr/share/nginx/html/
name: nginx-www-folder
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: nginx-www-folder
persistentVolumeClaim:
claimName: {{ include "miweb-chart.fullname" . }}-pv-claim

+ 0
- 13
HelmCharts/miweb-chart/templates/example.yaml View File

@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "miweb-chart.fullname" . }}-example
labels:
{{- include "miweb-chart.labels" . | nindent 4 }}
spec:
type: {{ .Values.example.type }}
selector:
app: nginx
{{- include "miweb-chart.selectorLabels" . | nindent 4 }}
ports:
{{- .Values.example.ports | toYaml | nindent 2 -}}

+ 83
- 0
HelmCharts/miweb-chart/templates/miweb-deployment.yaml View File

@ -0,0 +1,83 @@
apiVersion: v1
kind: Service
metadata:
name: miweb
spec:
type: NodePort
ports:
- name: http
port: 80
nodePort: 30080
targetPort: miweb-http
selector:
app: miweb
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: miweb-pv-claim
labels:
app: miweb
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: miweb-conf-pv-claim
labels:
app: miweb
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 100M
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: miweb
labels:
app: miweb
spec:
selector:
matchLabels:
app: miweb
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: miweb
tier: frontend
spec:
containers:
- name: miweb
#image: linuxserver/nginx
image: docker-registry:32000/minginx:2.0
#image: httpd
ports:
- containerPort: 80
name: "miweb-http"
volumeMounts:
- name: miweb-www-folder
mountPath: /usr/share/nginx/html
- name: miweb-conf-folder
mountPath: /etc/nginx/conf.d
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: miweb-www-folder
persistentVolumeClaim:
claimName: miweb-pv-claim
- name: miweb-conf-folder
persistentVolumeClaim:
claimName: miweb-conf-pv-claim

+ 0
- 14
HelmCharts/miweb-chart/templates/pv-claim.yaml View File

@ -1,14 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "miweb-chart.fullname" . }}-pv-claim
labels:
app: nginx
{{- include "miweb-chart.labels" . | nindent 4 }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: {{ .Values.pvc.pvClaim.storageRequest | quote }}
storageClassName: {{ .Values.pvc.pvClaim.storageClass | quote }}

+ 23
- 0
HelmCharts/nextcloud-chart/.helmignore View File

@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

+ 24
- 0
HelmCharts/nextcloud-chart/Chart.yaml View File

@ -0,0 +1,24 @@
apiVersion: v2
name: nextcloud-chart
description: A Helm chart for Kubernetes
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"

+ 70
- 0
HelmCharts/nextcloud-chart/templates/mysql-deployment.yaml View File

@ -0,0 +1,70 @@
apiVersion: v1
kind: Service
metadata:
name: nextcloud-mysql
namespace: nextcloud
labels:
app: nextcloud
spec:
ports:
- port: 3306
selector:
app: nextcloud
tier: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-nc-pv-claim
namespace: nextcloud
labels:
app: nextcloud
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nextcloud-mysql
namespace: nextcloud
labels:
app: nextcloud
spec:
selector:
matchLabels:
app: nextcloud
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: nextcloud
tier: mysql
spec:
containers:
- image: docker-registry:32000/mariadb:1.0
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysqlnc-pass
key: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-nc-pv-claim

+ 51
- 0
HelmCharts/nextcloud-chart/templates/nextcloud-deployment.yaml View File

@ -0,0 +1,51 @@
apiVersion: v1
kind: Service
metadata:
name: nextcloud-server
namespace: nextcloud
labels:
app: nextcloud
spec:
selector:
pod-label: nextcloud-server-pod
type: NodePort
ports:
- port: 80
nodePort: 30289
targetPort: nextcloud
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nextcloud-server
namespace: nextcloud
labels:
app: nextcloud
spec:
replicas: 1
selector:
matchLabels:
pod-label: nextcloud-server-pod
template:
metadata:
labels:
pod-label: nextcloud-server-pod
spec:
containers:
- name: nextcloud
#image: nextcloud
image: docker-registry:32000/nextcloud:1.0
volumeMounts:
- name: server-storage
mountPath: /var/www/html
subPath: server-data
ports:
- containerPort: 80
name: nextcloud
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: server-storage
persistentVolumeClaim:
claimName: dbnc-pv-claim

+ 9
- 0
HelmCharts/nextcloud-chart/templates/nextcloud-secrets.yaml View File

@ -0,0 +1,9 @@
apiVersion: v1
kind: Secret
metadata:
name: mysqlnc-pass
namespace: nextcloud
data:
password: RHNhLTAyMTMK
db_user: cm9vdAo=
db_passwd: RHNhLTAyMTMK

+ 56
- 0
HelmCharts/nextcloud-chart/templates/php-deployment.yaml View File

@ -0,0 +1,56 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-nextcloud
namespace: nextcloud
labels:
app: nextcloud
spec:
selector:
app: nextcloud
tier: phpmyadmin
type: NodePort
ports:
- name: phpadmin
port: 80
nodePort: 30480
targetPort: phpmyadm
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-nextcloud
namespace: nextcloud
labels:
app: nextcloud
spec:
selector:
matchLabels:
app: nextcloud
tier: phpmyadmin
strategy:
type: Recreate
template:
metadata:
labels:
app: nextcloud
tier: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: docker-registry:32000/phpmyadmin:1.0
ports:
- containerPort: 80
name: phpmyadm
env:
- name: PMA_HOST
value: nextcloud-mysql
- name: PMA_PORT
value: "3306"
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysqlnc-pass
key: password
imagePullSecrets:
- name: reg-cred-secret

+ 13
- 0
HelmCharts/nextcloud-chart/templates/pvc-nextcloud.yaml View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dbnc-pv-claim
namespace: nextcloud
labels:
app: nextcloud
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi

+ 11
- 0
HelmCharts/nextcloud-chart/templates/registry-secrets.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRocyI6eyJkb2NrZXItcmVnaXN0cnk6MzIwMDAiOnsidXNlcm5hbWUiOiJjcmV5bG9wZXoiLCJwYXNzd29yZCI6IlJleS0xMTc2IiwiYXV0aCI6IlkzSmxlV3h2Y0dWNk9sSmxlUzB4TVRjMiJ9fX0=
kind: Secret
metadata:
creationTimestamp: "2023-01-29T10:54:14Z"
name: reg-cred-secret
namespace: nextcloud
resourceVersion: "19890385"
uid: 66b3b7c5-26c1-4e5a-af4e-dc973aaafe4b
type: kubernetes.io/dockerconfigjson

+ 82
- 0
HelmCharts/nextcloud-chart/values.yaml View File

@ -0,0 +1,82 @@
# Default values for nextcloud-chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: nginx
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: ""
imagePullSecrets: [reg-cred-secret]
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: ClusterIP
port: 80
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}

+ 11
- 0
HelmCharts/preparaMiweb/pv-local-miweb-certbot.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: miweb-certbot-folder
spec:
capacity:
storage: 200M
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/cluster/miweb/certbot"

+ 11
- 0
HelmCharts/preparaMiweb/pv-local-miweb-conf.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: miweb-conf-folder
spec:
capacity:
storage: 100M
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/cluster/miweb/conf"

HelmCharts/preparaMiweb/pv-local-nginx.yaml → HelmCharts/preparaMiweb/pv-local-miweb.yaml View File

@ -1,11 +1,11 @@
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: www-nginx-folder
name: miweb-www-folder
spec: spec:
capacity: capacity:
storage: 2Gi storage: 2Gi
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
hostPath: hostPath:
path: "/mnt/cluster/nginx/www"
path: "/mnt/cluster/miweb/www"

+ 4
- 0
HelmCharts/preparaNextCloud/nc-namespace.yaml View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: nextcloud

+ 11
- 0
HelmCharts/preparaNextCloud/pv-local-mysql.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: nc-data
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/Externo/nextcloud/nextcloud-db"

+ 11
- 0
HelmCharts/preparaNextCloud/pv-local-nextcloud.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: nextcloud
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/Externo/nextcloud"

Loading…
Cancel
Save