From e6d3d6e3f3c30fc5004ef715870bcf237d28cddc Mon Sep 17 00:00:00 2001 From: Raul Sanchez Date: Thu, 15 Dec 2016 18:30:20 +0100 Subject: [PATCH] Added cloud9 templates for catlle and k8s --- kubernetes-templates/cloud9/0/README.md | 23 +++++++ .../cloud9/0/cloud9-sdk-ingress.yml | 13 ++++ .../cloud9/0/cloud9-sdk-rc.yml | 51 +++++++++++++++ .../cloud9/0/cloud9-sdk-service.yml | 15 +++++ .../cloud9/0/rancher-compose.yml | 63 +++++++++++++++++++ .../cloud9/catalogIcon-cloud9-sdk.svg | 32 ++++++++++ kubernetes-templates/cloud9/config.yml | 8 +++ templates/cloud9/0/README.md | 24 +++++++ templates/cloud9/0/docker-compose.yml | 14 +++++ templates/cloud9/0/rancher-compose.yml | 61 ++++++++++++++++++ templates/cloud9/catalogIcon-cloud9-sdk.svg | 32 ++++++++++ templates/cloud9/config.yml | 8 +++ 12 files changed, 344 insertions(+) create mode 100644 kubernetes-templates/cloud9/0/README.md create mode 100644 kubernetes-templates/cloud9/0/cloud9-sdk-ingress.yml create mode 100644 kubernetes-templates/cloud9/0/cloud9-sdk-rc.yml create mode 100644 kubernetes-templates/cloud9/0/cloud9-sdk-service.yml create mode 100644 kubernetes-templates/cloud9/0/rancher-compose.yml create mode 100644 kubernetes-templates/cloud9/catalogIcon-cloud9-sdk.svg create mode 100644 kubernetes-templates/cloud9/config.yml create mode 100644 templates/cloud9/0/README.md create mode 100644 templates/cloud9/0/docker-compose.yml create mode 100644 templates/cloud9/0/rancher-compose.yml create mode 100644 templates/cloud9/catalogIcon-cloud9-sdk.svg create mode 100644 templates/cloud9/config.yml diff --git a/kubernetes-templates/cloud9/0/README.md b/kubernetes-templates/cloud9/0/README.md new file mode 100644 index 0000000..01a398b --- /dev/null +++ b/kubernetes-templates/cloud9/0/README.md @@ -0,0 +1,23 @@ +# Cloud9 (Experimental) + +### Info: + + This template deploys a cloud9 sdk. + + +### Usage: + + Select cloud9 from catalog. + + Change the following cloud9 default parameters, if you need: + +- cloud9_user=test # Basic auth user +- cloud9_pass=test1234 # Basic auth password +- cloud9_port=8080 # Port to listen +- cloud9_repo="" # Optional: Git repo to sync in your environment +- cloud9_domain=dev.local # Ingress service domain + + Click deploy. + + Cloud9 can now be accessed over the Rancher network. + diff --git a/kubernetes-templates/cloud9/0/cloud9-sdk-ingress.yml b/kubernetes-templates/cloud9/0/cloud9-sdk-ingress.yml new file mode 100644 index 0000000..3ccea35 --- /dev/null +++ b/kubernetes-templates/cloud9/0/cloud9-sdk-ingress.yml @@ -0,0 +1,13 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: ${cloud9_name} + namespace: ${cloud9_namespace} +spec: + rules: + - host: ${cloud9_name}.${cloud9_domain} + http: + paths: + - backend: + serviceName: ${cloud9_name} + servicePort: ${cloud9_port} \ No newline at end of file diff --git a/kubernetes-templates/cloud9/0/cloud9-sdk-rc.yml b/kubernetes-templates/cloud9/0/cloud9-sdk-rc.yml new file mode 100644 index 0000000..79cb67b --- /dev/null +++ b/kubernetes-templates/cloud9/0/cloud9-sdk-rc.yml @@ -0,0 +1,51 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: "${cloud9_name}" + namespace: "${cloud9_namespace}" + labels: + name: "${cloud9_name}" +spec: + replicas: 1 + selector: + name: "${cloud9_name}" + template: + metadata: + labels: + name: "${cloud9_name}" + annotations: + spec: + containers: + - name: "cloud9-sdk" + image: "rawmind/cloud9-sdk:0.3.0-2" + env: + - name: GIT_REPO + value: "${cloud9_repo}" + volumeMounts: + - mountPath: "/var/run/docker.sock" + name: "docker-socket" + - mountPath: "/bin/docker" + name: "docker-exec" + - mountPath: "/workspace" + name: "cloud9-data" + ports: + - containerPort: ${cloud9_port} + name: "cloud9-port" + protocol: "TCP" + args: + - --listen 0.0.0.0 + - --port ${cloud9_port} + - -w /workspace + - --collab + - --auth ${cloud9_user}:${cloud9_pass} + imagePullPolicy: "IfNotPresent" + restartPolicy: "Always" + volumes: + - name: "cloud9-data" + emptyDir: {} + - name: "docker-socket" + hostPath: + path: "/var/run/docker.sock" + - name: "docker-exec" + hostPath: + path: "/usr/local/bin/docker" \ No newline at end of file diff --git a/kubernetes-templates/cloud9/0/cloud9-sdk-service.yml b/kubernetes-templates/cloud9/0/cloud9-sdk-service.yml new file mode 100644 index 0000000..0bde822 --- /dev/null +++ b/kubernetes-templates/cloud9/0/cloud9-sdk-service.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: "${cloud9_name}" + namespace: "${cloud9_namespace}" + labels: + name: "${cloud9_name}" +spec: + ports: + - port: ${cloud9_port} + targetPort: ${cloud9_port} + name: "cloud9-port" + protocol: "TCP" + selector: + name: "${cloud9_name}" diff --git a/kubernetes-templates/cloud9/0/rancher-compose.yml b/kubernetes-templates/cloud9/0/rancher-compose.yml new file mode 100644 index 0000000..f8ddeaa --- /dev/null +++ b/kubernetes-templates/cloud9/0/rancher-compose.yml @@ -0,0 +1,63 @@ +.catalog: + name: Cloud9 + description: | + (Experimental) Cloud 9 SDK + version: 3.0-k8s1 + minimum_rancher_version: v1.0.0 + maintainer: "Raul Sanchez " + uuid: cloud9-0 + questions: + - variable: "cloud9_name" + description: "Name of cloud9 rc and service." + label: "K8s rc name:" + required: true + default: "cloud9" + type: "string" + - variable: "cloud9_namespace" + description: "Name of cloud9 namespace." + label: "K8s namespace:" + required: true + default: "default" + type: "string" + - variable: "cloud9_user" + description: | + Username. + label: "Username:" + default: "test" + required: true + type: "string" + - variable: "cloud9_pass" + description: | + Password. + label: "Password:" + default: "test1234" + required: true + type: "string" + - variable: "cloud9_port" + description: "Port to listen" + label: "Port:" + required: true + default: "8080" + type: "int" + - variable: "cloud9_repo" + description: "Git repo to sync" + label: "Git repo:" + required: false + default: "" + type: "string" + - variable: "cloud9_domain" + description: "Ingress service domain" + label: "Ingress domain:" + required: true + default: "dev.local" + type: "string" +cloud9-sdk: + scale: 1 + retain_ip: true + health_check: + port: ${cloud9_port} + interval: 5000 + unhealthy_threshold: 3 + request_line: '' + healthy_threshold: 2 + response_timeout: 5000 diff --git a/kubernetes-templates/cloud9/catalogIcon-cloud9-sdk.svg b/kubernetes-templates/cloud9/catalogIcon-cloud9-sdk.svg new file mode 100644 index 0000000..1c9452c --- /dev/null +++ b/kubernetes-templates/cloud9/catalogIcon-cloud9-sdk.svg @@ -0,0 +1,32 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/kubernetes-templates/cloud9/config.yml b/kubernetes-templates/cloud9/config.yml new file mode 100644 index 0000000..95ef865 --- /dev/null +++ b/kubernetes-templates/cloud9/config.yml @@ -0,0 +1,8 @@ +name: Cloud9 +description: | + (Experimental) Cloud 9 SDK +version: 3.0-k8s1 +category: Agile +maintainer: "Raul Sanchez " +license: +projectURL: https://github.com/rawmind0/cloud9-sdk diff --git a/templates/cloud9/0/README.md b/templates/cloud9/0/README.md new file mode 100644 index 0000000..d839bbd --- /dev/null +++ b/templates/cloud9/0/README.md @@ -0,0 +1,24 @@ +# Cloud9 (Experimental) + +### Info: + + This template deploys a cloud9 sdk. + + +### Usage: + + Select cloud9 from catalog. + + Change the following cloud9 default parameters, if you need: + +- cloud9_user=test # Basic auth user +- cloud9_pass=test1234 # Basic auth password +- cloud9_port=8080 # Port to listen +- cloud9_repo="" # Optional: Git repo to sync in your environment +- cloud9_publish=stack # Publish the service in traefik +- cloud9_domain=dev.local # Publish service domain + + Click deploy. + + Cloud9 can now be accessed over the Rancher network. + diff --git a/templates/cloud9/0/docker-compose.yml b/templates/cloud9/0/docker-compose.yml new file mode 100644 index 0000000..271852f --- /dev/null +++ b/templates/cloud9/0/docker-compose.yml @@ -0,0 +1,14 @@ +cloud9-sdk: + command: "--listen 0.0.0.0 --port ${cloud9_port} -w /workspace --collab --auth ${cloud9_user}:${cloud9_pass}" + image: "rawmind/cloud9-sdk:0.3.0-2" + restart: "always" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + - "/usr/local/bin/docker:/bin/docker" + - "/workspace" + environment: + GIT_REPO: ${cloud9_repo} + labels: + traefik.domain: ${cloud9_domain} + traefik.port: ${cloud9_port} + traefik.enable: ${cloud9_publish} \ No newline at end of file diff --git a/templates/cloud9/0/rancher-compose.yml b/templates/cloud9/0/rancher-compose.yml new file mode 100644 index 0000000..14d45e3 --- /dev/null +++ b/templates/cloud9/0/rancher-compose.yml @@ -0,0 +1,61 @@ +.catalog: + name: Cloud9 + description: | + (Experimental) Cloud 9 SDK + version: 3.0-rancher1 + minimum_rancher_version: v1.0.0 + maintainer: "Raul Sanchez " + uuid: cloud9-0 + questions: + - variable: "cloud9_user" + description: | + Username. + label: "Username:" + default: "test" + required: true + type: "string" + - variable: "cloud9_pass" + description: | + Password. + label: "Password:" + default: "test1234" + required: true + type: "string" + - variable: "cloud9_port" + description: "Port to listen" + label: "Port:" + required: true + default: "8080" + type: "int" + - variable: "cloud9_repo" + description: "Git repo to sync" + label: "Git repo:" + required: false + default: "" + type: "string" + - variable: "cloud9_publish" + label: "Publish:" + description: "Publish service to traefik." + default: stack + required: true + type: enum + options: + - false + - true + - stack + - variable: "cloud9_domain" + description: "Publish service domain" + label: "Publish domain:" + required: true + default: "dev.local" + type: "string" +cloud9-sdk: + scale: 1 + retain_ip: true + health_check: + port: ${cloud9_port} + interval: 5000 + unhealthy_threshold: 3 + request_line: '' + healthy_threshold: 2 + response_timeout: 5000 diff --git a/templates/cloud9/catalogIcon-cloud9-sdk.svg b/templates/cloud9/catalogIcon-cloud9-sdk.svg new file mode 100644 index 0000000..1c9452c --- /dev/null +++ b/templates/cloud9/catalogIcon-cloud9-sdk.svg @@ -0,0 +1,32 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/templates/cloud9/config.yml b/templates/cloud9/config.yml new file mode 100644 index 0000000..9bb03c9 --- /dev/null +++ b/templates/cloud9/config.yml @@ -0,0 +1,8 @@ +name: Cloud9 +description: | + (Experimental) Cloud 9 SDK +version: 3.0-rancher1 +category: Agile +maintainer: "Raul Sanchez " +license: +projectURL: https://github.com/rawmind0/cloud9-sdk