From 326684292d42d6c4ab8220d5d49259d87b58c49f Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 22 Jul 2019 20:33:00 +0000 Subject: [PATCH] initial kubernetes deployment yamls --- deployment/00-ns.yaml | 4 +++ deployment/db-service.yaml | 14 +++++++++ deployment/db-statefulset.yaml | 47 +++++++++++++++++++++++++++++++ deployment/iotbox-deployment.yaml | 37 ++++++++++++++++++++++++ deployment/iotbox-service.yaml | 17 +++++++++++ deployment/odoo-deployment.yaml | 40 ++++++++++++++++++++++++++ deployment/odoo-pvc.yaml | 14 +++++++++ deployment/odoo-service.yaml | 14 +++++++++ 8 files changed, 187 insertions(+) create mode 100644 deployment/00-ns.yaml create mode 100644 deployment/db-service.yaml create mode 100644 deployment/db-statefulset.yaml create mode 100644 deployment/iotbox-deployment.yaml create mode 100644 deployment/iotbox-service.yaml create mode 100644 deployment/odoo-deployment.yaml create mode 100644 deployment/odoo-pvc.yaml create mode 100644 deployment/odoo-service.yaml diff --git a/deployment/00-ns.yaml b/deployment/00-ns.yaml new file mode 100644 index 0000000..dd721bb --- /dev/null +++ b/deployment/00-ns.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: pos diff --git a/deployment/db-service.yaml b/deployment/db-service.yaml new file mode 100644 index 0000000..2b14413 --- /dev/null +++ b/deployment/db-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: db + name: db + namespace: pos +spec: + ports: + - name: postgres + port: 5432 + targetPort: 5432 + selector: + app: db diff --git a/deployment/db-statefulset.yaml b/deployment/db-statefulset.yaml new file mode 100644 index 0000000..aa402db --- /dev/null +++ b/deployment/db-statefulset.yaml @@ -0,0 +1,47 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app: db + name: db + namespace: pos +spec: + selector: + matchLabels: + app: db + serviceName: db + replicas: 1 + template: + metadata: + labels: + app: db + spec: + terminationGracePeriodSeconds: 10 + containers: + - name: db + image: postgres:10 + env: + - name: PGDATA + value: /var/lib/postgresql/data/pgdata + - name: POSTGRES_DB + value: postgres + - name: POSTGRES_PASSWORD + value: odoo + - name: POSTGRES_USER + value: odoo + ports: + - containerPort: 5432 + name: postgres + volumeMounts: + - name: db-data + mountPath: /var/lib/postgresql/data/pgdata + volumeClaimTemplates: + - metadata: + name: db-data + spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 1Gi diff --git a/deployment/iotbox-deployment.yaml b/deployment/iotbox-deployment.yaml new file mode 100644 index 0000000..19f6363 --- /dev/null +++ b/deployment/iotbox-deployment.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: iotbox + name: iotbox + namespace: pos +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: iotbox + template: + metadata: + labels: + app: iotbox + spec: + containers: + - args: + - -- + - --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos,hw_blackbox_be,hw_screen,hw_drivers,hw_printer_network + env: + - name: HOST + value: db + - name: PASSWORD + value: odoo + - name: USER + value: odoo + image: docker.io/tobru/odoo-pos:latest-iotbox + name: iotbox + ports: + - containerPort: 8069 + - containerPort: 8072 + hostname: iotbox + restartPolicy: Always diff --git a/deployment/iotbox-service.yaml b/deployment/iotbox-service.yaml new file mode 100644 index 0000000..a2a6efa --- /dev/null +++ b/deployment/iotbox-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: iotbox + name: iotbox + namespace: pos +spec: + ports: + - name: "8070" + port: 8070 + targetPort: 8069 + - name: "8072" + port: 8072 + targetPort: 8072 + selector: + app: iotbox diff --git a/deployment/odoo-deployment.yaml b/deployment/odoo-deployment.yaml new file mode 100644 index 0000000..9ceadc1 --- /dev/null +++ b/deployment/odoo-deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: odoo + name: odoo + namespace: pos +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: odoo + template: + metadata: + labels: + app: odoo + spec: + containers: + - env: + - name: HOST + value: db + - name: PASSWORD + value: odoo + - name: USER + value: odoo + image: docker.io/tobru/odoo-pos:latest-pos + name: web + ports: + - containerPort: 8069 + volumeMounts: + - mountPath: /var/lib/odoo + name: odoo-data + hostname: web + restartPolicy: Always + volumes: + - name: odoo-data + persistentVolumeClaim: + claimName: odoo-data diff --git a/deployment/odoo-pvc.yaml b/deployment/odoo-pvc.yaml new file mode 100644 index 0000000..ca79b2f --- /dev/null +++ b/deployment/odoo-pvc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: odoo + name: odoo-data + namespace: pos +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Mi + storageClassName: local-path diff --git a/deployment/odoo-service.yaml b/deployment/odoo-service.yaml new file mode 100644 index 0000000..d58990d --- /dev/null +++ b/deployment/odoo-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: odoo + name: odoo + namespace: pos +spec: + ports: + - name: http + port: 80 + targetPort: 8069 + selector: + app: odoo