From ba5ac3533034485d85a435ba738ade864fb7c568 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 17 Nov 2019 15:09:31 +0100 Subject: [PATCH] New scripts for Firefly III in Kubernetes --- .deploy/kubernetes/firefly-iii.yaml | 96 +++++++++++++++++++++++++++ .deploy/kubernetes/firefly.yaml | 82 ----------------------- .deploy/kubernetes/kustomization.yaml | 8 +++ .deploy/kubernetes/mysql.yaml | 65 ++++++++++++++++++ .deploy/kubernetes/sql.yaml | 49 -------------- 5 files changed, 169 insertions(+), 131 deletions(-) create mode 100644 .deploy/kubernetes/firefly-iii.yaml delete mode 100644 .deploy/kubernetes/firefly.yaml create mode 100644 .deploy/kubernetes/kustomization.yaml create mode 100644 .deploy/kubernetes/mysql.yaml delete mode 100644 .deploy/kubernetes/sql.yaml diff --git a/.deploy/kubernetes/firefly-iii.yaml b/.deploy/kubernetes/firefly-iii.yaml new file mode 100644 index 0000000000..8bc9309296 --- /dev/null +++ b/.deploy/kubernetes/firefly-iii.yaml @@ -0,0 +1,96 @@ +apiVersion: v1 +kind: Service +metadata: + name: firefly-iii + labels: + app: firefly-iii +spec: + ports: + - port: 80 + selector: + app: firefly-iii + tier: frontend + type: LoadBalancer +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: firefly-iii-export-claim + labels: + app: firefly-iii +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: firefly-iii-upload-claim + labels: + app: firefly-iii +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: firefly-iii + labels: + app: firefly-iii +spec: + selector: + matchLabels: + app: firefly-iii + tier: frontend + strategy: + type: Recreate + template: + metadata: + labels: + app: firefly-iii + tier: frontend + spec: + containers: + - image: jc5x/firefly-iii + name: firefly-iii + env: + - name: APP_ENV + value: "local" + - name: APP_KEY + value: "S0m3R@nd0mString0f32Ch@rsEx@ct1y" + - name: DB_HOST + value: firefly-iii-mysql + - name: DB_CONNECTION + value: mysql + - name: DB_DATABASE + value: "fireflyiii" + - name: DB_USERNAME + value: "root" + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: firefly-iii-mysql-pass + key: password + ports: + - containerPort: 80 + name: firefly-iii + volumeMounts: + - mountPath: "/var/www/firefly-iii/storage/export" + name: firefly-iii-export + - mountPath: "/var/www/firefly-iii/storage/upload" + name: firefly-iii-upload + imagePullPolicy: Always + volumes: + - name: firefly-iii-export + persistentVolumeClaim: + claimName: firefly-iii-export-claim + - name: firefly-iii-upload + persistentVolumeClaim: + claimName: firefly-iii-upload-claim \ No newline at end of file diff --git a/.deploy/kubernetes/firefly.yaml b/.deploy/kubernetes/firefly.yaml deleted file mode 100644 index 1dc6309e84..0000000000 --- a/.deploy/kubernetes/firefly.yaml +++ /dev/null @@ -1,82 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mysql-pv-export-claim - labels: - app: firefly-local -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mysql-pv-upload-claim - labels: - app: firefly-local -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: firefly-local - namespace: firefly - labels: - app: firefly-local -spec: - selector: - matchLabels: - app: firefly-local - template: - metadata: - labels: - app: firefly-local - spec: - containers: - - image: firefly-local - name: firefly-local - env: - - name: APP_ENV - value: "local" - - name: APP_KEY - value: "S0m3R@nd0mString0f32Ch@rsEx@ct1y" - - name: DB_HOST - value: "172.17.0.9" - - name: DB_NAME - value: "firefly_db" - - name: DB_USER - value: "firefly_db" - - name: DB_PASSWORD - value: "password" - volumeMounts: - - mountPath: "/var/www/firefly-iii/storage/export" - name: mysql-persistent-export - - mountPath: "/var/www/firefly-iii/storage/upload" - name: mysql-persistent-upload - imagePullPolicy: IfNotPresent - volumes: - - name: mysql-persistent-export - persistentVolumeClaim: - claimName: mysql-pv-export-claim - - name: mysql-persistent-upload - persistentVolumeClaim: - claimName: mysql-pv-upload-claim ---- -apiVersion: v1 -kind: Service -metadata: - name: firefly-local -spec: - ports: - - port: 80 - type: NodePort - selector: - app: firefly-local \ No newline at end of file diff --git a/.deploy/kubernetes/kustomization.yaml b/.deploy/kubernetes/kustomization.yaml new file mode 100644 index 0000000000..9a9d8a7146 --- /dev/null +++ b/.deploy/kubernetes/kustomization.yaml @@ -0,0 +1,8 @@ +resources: + - mysql.yaml + - firefly-iii.yaml +secretGenerator: +- name: firefly-iii-mysql-pass + literals: + - password=3kpx1m1VU0w4C2n3GrRN + - app_key=l92KmYiXEqJauNjgmF04i6sTfivOuPRf diff --git a/.deploy/kubernetes/mysql.yaml b/.deploy/kubernetes/mysql.yaml new file mode 100644 index 0000000000..f05a6a3f2d --- /dev/null +++ b/.deploy/kubernetes/mysql.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: Service +metadata: + name: firefly-iii-mysql + labels: + app: firefly-iii +spec: + ports: + - port: 3306 + selector: + app: firefly-iii + tier: mysql + clusterIP: None +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-pv-claim + labels: + app: firefly-iii +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: firefly-iii-mysql + labels: + app: firefly-iii +spec: + selector: + matchLabels: + app: firefly-iii + tier: mysql + strategy: + type: Recreate + template: + metadata: + labels: + app: firefly-iii + tier: mysql + spec: + containers: + - image: mysql:5.6 + name: mysql + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: firefly-iii-mysql-pass + key: password + ports: + - containerPort: 3306 + name: mysql + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: mysql-pv-claim \ No newline at end of file diff --git a/.deploy/kubernetes/sql.yaml b/.deploy/kubernetes/sql.yaml deleted file mode 100644 index aae5f7d5cb..0000000000 --- a/.deploy/kubernetes/sql.yaml +++ /dev/null @@ -1,49 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: sql-pass -type: Opaque -data: - password: cGFzc3dvcmQ= ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - name: mysql - namespace: firefly - labels: - app: mysql -spec: - selector: - matchLabels: - app: mysql - template: - metadata: - labels: - app: mysql - spec: - containers: - - image: mysql - imagePullPolicy: IfNotPresent - name: mysql - env: - - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: sql-pass - key: password - ports: - - containerPort: 3306 - name: mysql ---- -apiVersion: v1 -kind: Service -metadata: - name: mysql -spec: - ports: - - port: 3306 - type: NodePort - selector: - app: mysql -