diff --git a/README.md b/README.md index d27873c..f4457de 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,12 @@ Go to https://gitlab.com/profile/applications or your GitLab installation and re > `docker-compose up -d` +### Installation with Kubernetes + +Follow steps 1 and 1.1 from Installation with Docker. Then, change the default environment variables in kubernetes/kanban-deployment.yaml. + +Finally, create the kubernetes resources: `kubectl create -f kubernetes`. + ## Upgrading If you followed instructions from "Installation with Docker", then the easiest way to upgrade would be: diff --git a/kubernetes/kanban-deployment.yaml b/kubernetes/kanban-deployment.yaml new file mode 100644 index 0000000..467a9cf --- /dev/null +++ b/kubernetes/kanban-deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + io.kompose.service: kanban + name: kanban +spec: + replicas: 1 + strategy: {} + template: + metadata: + creationTimestamp: null + labels: + io.kompose.service: kanban + spec: + containers: + - args: + - ./kanban + - server + env: + - name: KANBAN_ENABLE_SIGNUP + value: "true" + - name: KANBAN_GITLAB_CLIENT + value: qwerty + - name: KANBAN_GITLAB_SECRET + value: qwerty + - name: KANBAN_GITLAB_URL + value: https://gitlab.com + - name: KANBAN_REDIS_ADDR + value: redis:6379 + - name: KANBAN_SECURITY_SECRET + value: qwerty + - name: KANBAN_SERVER_HOSTNAME + value: http://kanban.gitlab.com + image: leanlabs/kanban:1.7.1 + name: kanban + resources: {} + restartPolicy: Always +status: {} diff --git a/kubernetes/kanban-service.yaml b/kubernetes/kanban-service.yaml new file mode 100644 index 0000000..2b436d0 --- /dev/null +++ b/kubernetes/kanban-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + io.kompose.service: kanban + name: kanban +spec: + clusterIP: None + ports: + - name: headless + port: 55555 + targetPort: 0 + selector: + io.kompose.service: kanban +status: + loadBalancer: {} diff --git a/kubernetes/proxy-claim0-persistentvolumeclaim.yaml b/kubernetes/proxy-claim0-persistentvolumeclaim.yaml new file mode 100644 index 0000000..edc7378 --- /dev/null +++ b/kubernetes/proxy-claim0-persistentvolumeclaim.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy-claim0 + name: proxy-claim0 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/kubernetes/proxy-claim1-persistentvolumeclaim.yaml b/kubernetes/proxy-claim1-persistentvolumeclaim.yaml new file mode 100644 index 0000000..0959ca1 --- /dev/null +++ b/kubernetes/proxy-claim1-persistentvolumeclaim.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy-claim1 + name: proxy-claim1 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/kubernetes/proxy-claim2-persistentvolumeclaim.yaml b/kubernetes/proxy-claim2-persistentvolumeclaim.yaml new file mode 100644 index 0000000..8415809 --- /dev/null +++ b/kubernetes/proxy-claim2-persistentvolumeclaim.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy-claim2 + name: proxy-claim2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/kubernetes/proxy-deployment.yaml b/kubernetes/proxy-deployment.yaml new file mode 100644 index 0000000..5966bbe --- /dev/null +++ b/kubernetes/proxy-deployment.yaml @@ -0,0 +1,43 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy + name: proxy +spec: + replicas: 1 + strategy: + type: Recreate + template: + metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy + spec: + containers: + - image: leanlabs/nginx:1.0.1 + name: proxy + ports: + - containerPort: 443 + - containerPort: 80 + resources: {} + volumeMounts: + - mountPath: /etc/nginx/conf.d + name: proxy-claim0 + - mountPath: /etc/nginx/certs + name: proxy-claim1 + - mountPath: /etc/nginx/sites-enabled + name: proxy-claim2 + restartPolicy: Always + volumes: + - name: proxy-claim0 + persistentVolumeClaim: + claimName: proxy-claim0 + - name: proxy-claim1 + persistentVolumeClaim: + claimName: proxy-claim1 + - name: proxy-claim2 + persistentVolumeClaim: + claimName: proxy-claim2 +status: {} diff --git a/kubernetes/proxy-service.yaml b/kubernetes/proxy-service.yaml new file mode 100644 index 0000000..5a954d3 --- /dev/null +++ b/kubernetes/proxy-service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + io.kompose.service: proxy + name: proxy +spec: + ports: + - name: "443" + port: 443 + targetPort: 443 + - name: "80" + port: 80 + targetPort: 80 + selector: + io.kompose.service: proxy +status: + loadBalancer: {} diff --git a/kubernetes/redis-claim0-persistentvolumeclaim.yaml b/kubernetes/redis-claim0-persistentvolumeclaim.yaml new file mode 100644 index 0000000..d552d34 --- /dev/null +++ b/kubernetes/redis-claim0-persistentvolumeclaim.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: redis-claim0 + name: redis-claim0 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/kubernetes/redis-deployment.yaml b/kubernetes/redis-deployment.yaml new file mode 100644 index 0000000..17636d3 --- /dev/null +++ b/kubernetes/redis-deployment.yaml @@ -0,0 +1,30 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + io.kompose.service: redis + name: redis +spec: + replicas: 1 + strategy: + type: Recreate + template: + metadata: + creationTimestamp: null + labels: + io.kompose.service: redis + spec: + containers: + - image: leanlabs/redis:1.0.0 + name: redis + resources: {} + volumeMounts: + - mountPath: /data + name: redis-claim0 + restartPolicy: Always + volumes: + - name: redis-claim0 + persistentVolumeClaim: + claimName: redis-claim0 +status: {} diff --git a/kubernetes/redis-service.yaml b/kubernetes/redis-service.yaml new file mode 100644 index 0000000..06fb167 --- /dev/null +++ b/kubernetes/redis-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + io.kompose.service: redis + name: redis +spec: + clusterIP: None + ports: + - name: headless + port: 55555 + targetPort: 0 + selector: + io.kompose.service: redis +status: + loadBalancer: {}