From e967a474cf970c8dbc853d3cf09f94832e95ff19 Mon Sep 17 00:00:00 2001 From: Hamcha Date: Thu, 30 Jan 2020 17:03:28 +0100 Subject: [PATCH] Add kubernetes files --- .gitignore | 2 ++ README.md | 22 +++++++++++++++- kubernetes/base/deployment.yaml | 26 +++++++++++++++++++ kubernetes/base/ingress.yaml | 15 +++++++++++ kubernetes/base/kustomization.yaml | 12 +++++++++ kubernetes/base/service.yaml | 16 ++++++++++++ .../overlays/development/deployment.yaml | 13 ++++++++++ .../overlays/development/kustomization.yaml | 14 ++++++++++ .../overlays/production/deployment.yaml | 12 +++++++++ .../overlays/production/kustomization.yaml | 10 +++++++ skaffold.yaml | 10 +++++++ 11 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 kubernetes/base/deployment.yaml create mode 100644 kubernetes/base/ingress.yaml create mode 100644 kubernetes/base/kustomization.yaml create mode 100644 kubernetes/base/service.yaml create mode 100644 kubernetes/overlays/development/deployment.yaml create mode 100644 kubernetes/overlays/development/kustomization.yaml create mode 100644 kubernetes/overlays/production/deployment.yaml create mode 100644 kubernetes/overlays/production/kustomization.yaml create mode 100644 skaffold.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d648d03 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +envfile \ No newline at end of file diff --git a/README.md b/README.md index 84f6cf9..9bafb89 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,26 @@ # stappabot -## Getting started +## Run on minikube + +Running in minikube doesn't really work right now, but you can still try if the docker container builds and deploys successfully. + +Make sure the `bots` namespace exists! + +### Requirements + +- [Skaffold](https://skaffold.dev/docs/install/) + +Create a file in `kubernetes/overlays/development` called `envfile` with these values: + +```sh +STAPPA_TOKEN=telegram-bot-token +STAPPA_WEBHOOK=https://telegram.webhook/endpoint +STAPPA_PATH=endpoint +``` + +Run `skaffold dev` + +## Run locally Install stappabot diff --git a/kubernetes/base/deployment.yaml b/kubernetes/base/deployment.yaml new file mode 100644 index 0000000..ac9f548 --- /dev/null +++ b/kubernetes/base/deployment.yaml @@ -0,0 +1,26 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: stappabot + svctype: bot + name: stappabot +spec: + replicas: 1 + selector: + matchLabels: + app: stappabot + strategy: {} + template: + metadata: + labels: + app: stappabot + spec: + containers: + - image: registry.zyg.ovh/hamcha/stappabot + name: stappabot + resources: {} + restartPolicy: Always + imagePullSecrets: + - name: regcred +status: {} diff --git a/kubernetes/base/ingress.yaml b/kubernetes/base/ingress.yaml new file mode 100644 index 0000000..b33b2cc --- /dev/null +++ b/kubernetes/base/ingress.yaml @@ -0,0 +1,15 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: stappabot + annotations: + nginx.ingress.kubernetes.io/force-ssl-redirect: "false" + nginx.ingress.kubernetes.io/ssl-redirect: "false" +spec: + rules: + - host: stappabot.zyg.ovh + http: + paths: + - backend: + serviceName: stappabot + servicePort: http diff --git a/kubernetes/base/kustomization.yaml b/kubernetes/base/kustomization.yaml new file mode 100644 index 0000000..433d860 --- /dev/null +++ b/kubernetes/base/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app: stappabot + +namespace: bots + +resources: + - deployment.yaml + - service.yaml + - ingress.yaml diff --git a/kubernetes/base/service.yaml b/kubernetes/base/service.yaml new file mode 100644 index 0000000..054fc89 --- /dev/null +++ b/kubernetes/base/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: stappabot + svctype: bot + name: stappabot +spec: + ports: + - name: "http" + port: 8080 + targetPort: 8080 + selector: + app: stappabot +status: + loadBalancer: {} diff --git a/kubernetes/overlays/development/deployment.yaml b/kubernetes/overlays/development/deployment.yaml new file mode 100644 index 0000000..e25ca98 --- /dev/null +++ b/kubernetes/overlays/development/deployment.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stappabot +spec: + template: + spec: + containers: + - name: stappabot + imagePullPolicy: "Never" + envFrom: + - secretRef: + name: stappabot-secret diff --git a/kubernetes/overlays/development/kustomization.yaml b/kubernetes/overlays/development/kustomization.yaml new file mode 100644 index 0000000..d128494 --- /dev/null +++ b/kubernetes/overlays/development/kustomization.yaml @@ -0,0 +1,14 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: + - ../../base + +namespace: bots + +secretGenerator: + - name: stappabot-secret + env: envfile + +patchesStrategicMerge: + - deployment.yaml diff --git a/kubernetes/overlays/production/deployment.yaml b/kubernetes/overlays/production/deployment.yaml new file mode 100644 index 0000000..8c68ae6 --- /dev/null +++ b/kubernetes/overlays/production/deployment.yaml @@ -0,0 +1,12 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stappabot +spec: + template: + spec: + containers: + - name: stappabot + envFrom: + - secretRef: + name: stappabot-secret diff --git a/kubernetes/overlays/production/kustomization.yaml b/kubernetes/overlays/production/kustomization.yaml new file mode 100644 index 0000000..14a57be --- /dev/null +++ b/kubernetes/overlays/production/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: + - ../../base + +namespace: bots + +patchesStrategicMerge: + - deployment.yaml diff --git a/skaffold.yaml b/skaffold.yaml new file mode 100644 index 0000000..a970c1d --- /dev/null +++ b/skaffold.yaml @@ -0,0 +1,10 @@ +apiVersion: skaffold/v2alpha2 +kind: Config +build: + artifacts: + - image: registry.zyg.ovh/hamcha/stappabot + local: + push: false +deploy: + kustomize: + path: "kubernetes/overlays/development"