| @ -0,0 +1,17 @@ | |||||
| FROM drupal:latest | |||||
| # install vi & sendmail | |||||
| RUN apt update && apt install -y vim sendmail | |||||
| #WORKDIR /var/www/html | |||||
| # https://www.drupal.org/node/3060/release | |||||
| #ENV DRUPAL_VERSION 9.4.7 | |||||
| #ENV DRUPAL_MD5 98e1f62c11a5dc5f9481935eefc814c5 | |||||
| #RUN curl -fSL "http://ftp.drupal.org/files/projects/drupal-${DRUPAL_VERSION}.tar.gz" -o drupal.tar.gz \ | |||||
| # && echo "${DRUPAL_MD5} *drupal.tar.gz" | md5sum -c - \ | |||||
| # && tar -xz --strip-components=1 -f drupal.tar.gz \ | |||||
| # && rm drupal.tar.gz \ | |||||
| # && chown -R www-data:www-data sites | |||||
| @ -0,0 +1,23 @@ | |||||
| - name: MAIL_MAILER | |||||
| value: smtp | |||||
| - name: MAIL_HOST | |||||
| value: "smtp.mail.yahoo.com" | |||||
| - name: MAIL_PORT | |||||
| value: "465" | |||||
| - name: MAIL_FROM | |||||
| value: "celestino_rey@ymail.com" | |||||
| - name: MAIL_USERNAME | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-secrets | |||||
| key: mail_user | |||||
| - name: MAIL_PASSWORD | |||||
| valueFrom: | |||||
| secretKeyRef: | |||||
| name: firefly-iii-secrets | |||||
| key: mail_password | |||||
| - name: MAIL_ENCRYPTION | |||||
| value: "ssl" | |||||
| mail_user: celestino_rey@ymail.com | |||||
| mail_password: kbryvwxkockqckss | |||||
| @ -0,0 +1 @@ | |||||
| https://medium.com/containerum/how-to-easily-deploy-a-drupal-8-instance-on-kubernetes-b90acc7786b7 | |||||
| @ -0,0 +1 @@ | |||||
| docker build -t docker-registry:32000/midrupal:v1 . | |||||
| @ -0,0 +1 @@ | |||||
| docker push docker-registry:32000/midrupal:v1 | |||||
| @ -1,16 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: ConfigMap | |||||
| metadata: | |||||
| name: nginx-config | |||||
| data: | |||||
| default.conf: | | |||||
| server { | |||||
| listen 80; | |||||
| listen [::]:80; | |||||
| server_name _; | |||||
| location / { | |||||
| add_header Content-Type text/plain; # Prevents download | |||||
| return 200 "Hello world! Kubernetes + Let's encrypt demo."; | |||||
| } | |||||
| } | |||||
| @ -1,31 +0,0 @@ | |||||
| apiVersion: apps/v1 | |||||
| kind: Deployment | |||||
| metadata: | |||||
| name: lets | |||||
| labels: | |||||
| app: lets | |||||
| spec: | |||||
| selector: | |||||
| matchLabels: | |||||
| app: lets | |||||
| tier: frontend | |||||
| replicas: 1 | |||||
| template: | |||||
| metadata: | |||||
| labels: | |||||
| app: lets | |||||
| tier: frontend | |||||
| spec: | |||||
| containers: | |||||
| - name: lets | |||||
| image: nginx | |||||
| ports: | |||||
| - containerPort: 80 | |||||
| volumeMounts: | |||||
| - name: nginx-configs | |||||
| mountPath: /etc/nginx/conf.d | |||||
| # Load the configuration files for nginx | |||||
| volumes: | |||||
| - name: nginx-configs | |||||
| configMap: | |||||
| name: nginx-config | |||||
| @ -1,17 +0,0 @@ | |||||
| apiVersion: networking.k8s.io/v1 | |||||
| kind: Ingress | |||||
| metadata: | |||||
| name: "kubernetes-demo-app-ingress-service" | |||||
| spec: | |||||
| rules: | |||||
| - host: kubernetes-letsencrypt.crey.fail # CHANGE ME! | |||||
| http: | |||||
| paths: | |||||
| # The * is needed so that all traffic gets redirected to nginx | |||||
| - path: /* | |||||
| pathType: Prefix | |||||
| backend: | |||||
| service: | |||||
| name: lets | |||||
| port: | |||||
| number: 80 | |||||
| @ -1,12 +0,0 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: lets | |||||
| spec: | |||||
| type: NodePort | |||||
| selector: | |||||
| app: lets | |||||
| ports: | |||||
| - protocol: "TCP" | |||||
| port: 80 | |||||
| nodePort: 30380 | |||||
| @ -0,0 +1 @@ | |||||
| https://medium.com/swlh/deploy-your-private-docker-registry-as-a-pod-in-kubernetes-f6a489bf0180 | |||||
| @ -0,0 +1 @@ | |||||
| kubectl create secret generic auth-secret --from-file=/registry/auth/htpasswd | |||||
| @ -0,0 +1 @@ | |||||
| kubectl create secret tls certs-secret --cert=/registry/certs/tls.crt --key=/registry/certs/tls.key | |||||
| @ -0,0 +1 @@ | |||||
| kubectl create -f registry-deployment.yaml | |||||
| @ -0,0 +1 @@ | |||||
| kubectl create -f registry-pv.yaml | |||||
| @ -0,0 +1,7 @@ | |||||
| export REGISTRY_NAME="docker-registry" | |||||
| export REGISTRY_IP="10.107.59.73" | |||||
| echo "Instalando ${REGISTRY_NAME}" | |||||
| rm -rf /etc/docker/certs.d/${REGISTRY_NAME}:5000 | |||||
| mkdir -p /etc/docker/certs.d/${REGISTRY_NAME}:5000 | |||||
| cp /registry/certs/tls.crt /etc/docker/certs.d/${REGISTRY_NAME}:5000/ca.crt | |||||
| @ -0,0 +1 @@ | |||||
| kubectl create secret docker-registry reg-cred-secret --docker-server=$REGISTRY_NAME:5000 --docker-username=creylopez --docker-password=Rey-1176 | |||||
| @ -0,0 +1 @@ | |||||
| kubectl exec docker-registry-pod -it -- sh | |||||
| @ -0,0 +1 @@ | |||||
| docker login docker-registry:32000 -u creylopez -p Rey-1176 | |||||
| @ -0,0 +1,56 @@ | |||||
| apiVersion: v1 | |||||
| kind: Service | |||||
| metadata: | |||||
| name: docker-registry | |||||
| spec: | |||||
| type: NodePort | |||||
| ports: | |||||
| - port: 5000 | |||||
| nodePort: 32000 | |||||
| targetPort: registryport | |||||
| selector: | |||||
| app: registry | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: Pod | |||||
| metadata: | |||||
| name: docker-registry-pod | |||||
| labels: | |||||
| app: registry | |||||
| spec: | |||||
| containers: | |||||
| - name: registry | |||||
| image: registry:2.6.2 | |||||
| volumeMounts: | |||||
| - name: repo-vol | |||||
| mountPath: "/var/lib/registry" | |||||
| - name: certs-vol | |||||
| mountPath: "/certs" | |||||
| readOnly: true | |||||
| - name: auth-vol | |||||
| mountPath: "/auth" | |||||
| readOnly: true | |||||
| env: | |||||
| - name: REGISTRY_AUTH | |||||
| value: "htpasswd" | |||||
| - name: REGISTRY_AUTH_HTPASSWD_REALM | |||||
| value: "Registry Realm" | |||||
| - name: REGISTRY_AUTH_HTPASSWD_PATH | |||||
| value: "/auth/htpasswd" | |||||
| - name: REGISTRY_HTTP_TLS_CERTIFICATE | |||||
| value: "/certs/tls.crt" | |||||
| - name: REGISTRY_HTTP_TLS_KEY | |||||
| value: "/certs/tls.key" | |||||
| ports: | |||||
| - containerPort: 5000 | |||||
| name: registryport | |||||
| volumes: | |||||
| - name: repo-vol | |||||
| persistentVolumeClaim: | |||||
| claimName: docker-repo-pvc | |||||
| - name: certs-vol | |||||
| secret: | |||||
| secretName: certs-secret | |||||
| - name: auth-vol | |||||
| secret: | |||||
| secretName: auth-secret | |||||
| @ -0,0 +1,22 @@ | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolume | |||||
| metadata: | |||||
| name: docker-repo-pv | |||||
| spec: | |||||
| capacity: | |||||
| storage: 1Gi | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| hostPath: | |||||
| path: /mnt/cluster/repository | |||||
| --- | |||||
| apiVersion: v1 | |||||
| kind: PersistentVolumeClaim | |||||
| metadata: | |||||
| name: docker-repo-pvc | |||||
| spec: | |||||
| accessModes: | |||||
| - ReadWriteOnce | |||||
| resources: | |||||
| requests: | |||||
| storage: 1Gi | |||||