From bd9f4159c399032a5541614434682522fc3eb24b Mon Sep 17 00:00:00 2001 From: sjenkins Date: Sun, 23 Feb 2025 18:31:18 -0600 Subject: [PATCH] added wordpress --- wordpress/deployment.yaml | 92 +++++++++++++++++++++++++++++++ wordpress/mariadb/deployment.yaml | 84 ++++++++++++++++++++++++++++ wordpress/mariadb/secret-setup.sh | 21 +++++++ 3 files changed, 197 insertions(+) create mode 100644 wordpress/deployment.yaml create mode 100644 wordpress/mariadb/deployment.yaml create mode 100755 wordpress/mariadb/secret-setup.sh diff --git a/wordpress/deployment.yaml b/wordpress/deployment.yaml new file mode 100644 index 0000000..254907b --- /dev/null +++ b/wordpress/deployment.yaml @@ -0,0 +1,92 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: wordpress-pvc + namespace: wordpress +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: do-block-storage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: wordpress +spec: + replicas: 1 + selector: + matchLabels: + app: wordpress + template: + metadata: + labels: + app: wordpress + spec: + containers: + - name: wordpress + image: wordpress:5.1.1 + ports: + - containerPort: 80 + env: + - name: WORDPRESS_DB_PASSWORD + valueFrom: + secretKeyRef: + name: mariadb-secret + key: root-password + - name: WORDPRESS_DB_NAME + value: "wordpress" + - name: WORDPRESS_DB_HOST + value: "mariadb" + - name: WORDPRESS_DB_USER + value: "root" + - name: VIRTUAL_HOST + value: "anteriorbroadband.com,anteriorsolutions.com,demo.anteriorsolutions.com,testing.anteriorsolutions.com,www.anteriorbroadband.com,www.anteriorsolutions.com,www.demo.anteriorsolutions.com,www.testing.anteriorsolutions.com" + volumeMounts: + - name: wordpress-persistent-storage + mountPath: /var/www/html + - name: wp-tmp-storage + mountPath: /tmp + resources: + limits: + memory: "1Gi" + cpu: "1000m" + requests: + memory: "300Mi" + cpu: "100m" + volumes: + - name: wordpress-persistent-storage + persistentVolumeClaim: + claimName: wordpress-pvc + - name: wp-tmp-storage + persistentVolumeClaim: + claimName: wp-tmp-csi-s3-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: wordpress + namespace: wordpress +spec: + selector: + app: wordpress + ports: + - protocol: TCP + port: 80 + targetPort: 80 + type: NodePort +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: wp-tmp-csi-s3-pvc + namespace: wordpress +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 5Gi + storageClassName: csi-s3 \ No newline at end of file diff --git a/wordpress/mariadb/deployment.yaml b/wordpress/mariadb/deployment.yaml new file mode 100644 index 0000000..fd0ed00 --- /dev/null +++ b/wordpress/mariadb/deployment.yaml @@ -0,0 +1,84 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mariadb-pvc + namespace: wordpress +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: do-block-storage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mariadb + namespace: wordpress +spec: + replicas: 1 + selector: + matchLabels: + app: mariadb + template: + metadata: + labels: + app: mariadb + spec: + containers: + - name: mariadb + image: mariadb:10.6 + ports: + - containerPort: 3306 + env: + - name: MARIADB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mariadb-secret + key: root-password + resources: + limits: + memory: "1Gi" + cpu: "1000m" + requests: + memory: "200Mi" + cpu: "50m" + volumeMounts: + - name: mariadb-storage + mountPath: /var/lib/mysql + - name: mariadb-tmp-storage + mountPath: /tmp + volumes: + - name: mariadb-storage + persistentVolumeClaim: + claimName: mariadb-pvc + - name: mariadb-tmp-storage + persistentVolumeClaim: + claimName: wpdb-tmp-csi-s3-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: mariadb + namespace: wordpress +spec: + ports: + - port: 3306 + targetPort: 3306 + selector: + app: mariadb + clusterIP: None +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: wpdb-tmp-csi-s3-pvc + namespace: wordpress +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 5Gi + storageClassName: csi-s3 diff --git a/wordpress/mariadb/secret-setup.sh b/wordpress/mariadb/secret-setup.sh new file mode 100755 index 0000000..a0b31d8 --- /dev/null +++ b/wordpress/mariadb/secret-setup.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Prompt user for MariaDB root password +read -sp "Enter MariaDB root password: " ROOT_PASSWORD +echo "" + +# Ensure the password is not empty +if [[ -z "$ROOT_PASSWORD" ]]; then + echo "Error: Password cannot be empty." + exit 1 +fi + +# Define namespace +NAMESPACE="wordpress" + +# Create the Kubernetes secret +kubectl create secret generic mariadb-secret \ + --from-literal=root-password="$ROOT_PASSWORD" \ + --namespace="$NAMESPACE" + +echo "✅ MariaDB secret created successfully in namespace '$NAMESPACE'." \ No newline at end of file