├── jobs ├── guestbook-example │ ├── monit │ ├── spec │ └── templates │ │ └── run.erb ├── create-kubernetes-dns │ ├── monit │ ├── spec │ └── templates │ │ ├── run.erb │ │ ├── skydns-service.yaml.erb │ │ └── skydns-controller.yaml.erb ├── etcd ├── docker │ ├── templates │ │ ├── config │ │ │ ├── docker_logrotate.cron.erb │ │ │ └── logrotate.conf.erb │ │ └── bin │ │ │ ├── cgroupfs-mount │ │ │ ├── job_properties.sh.erb │ │ │ └── docker_ctl │ ├── monit │ └── spec ├── kubernetes-minion │ ├── spec │ ├── monit │ └── templates │ │ ├── proxy_ctl.erb │ │ └── kubelet_ctl.erb ├── flannel │ ├── monit │ ├── spec │ └── templates │ │ └── flannel_ctl.erb └── kubernetes-master │ ├── spec │ ├── templates │ ├── controller-manager_ctl.erb │ ├── scheduler_ctl.erb │ └── apiserver_ctl.erb │ └── monit ├── src ├── etcd-common ├── github.com ├── bosh-helpers │ ├── monit_debugger │ ├── ctl_setup.sh │ └── ctl_utils.sh └── common │ └── utils.sh ├── packages ├── etcd ├── golang1.4 ├── etcd-common ├── common │ ├── spec │ └── packaging ├── git │ ├── spec │ └── packaging ├── python │ ├── spec │ └── packaging ├── golang │ ├── spec │ └── packaging ├── bosh-helpers │ ├── spec │ └── packaging ├── mercurial │ ├── spec │ └── packaging ├── guestbook-example │ ├── spec │ └── packaging ├── flannel │ ├── spec │ └── packaging ├── docker │ ├── spec │ └── packaging └── kubernetes │ ├── spec │ └── packaging ├── Gemfile ├── ci ├── concourse.png ├── delete-deployment ├── create-candidate-release.yml ├── generate-manifest.yml ├── run-errand ├── create-candidate-release ├── delete-deployment.yml ├── run-errand.yml ├── finalise-release.yml ├── generate-manifest └── finalise-release ├── config ├── final.yml └── blobs.yml ├── Guardfile ├── .gitignore ├── .final_builds ├── license │ └── index.yml ├── jobs │ ├── rudder │ │ └── index.yml │ ├── create-kubernetes-dns │ │ └── index.yml │ ├── docker │ │ └── index.yml │ ├── etcd │ │ └── index.yml │ ├── flannel │ │ └── index.yml │ ├── guestbook-example │ │ └── index.yml │ ├── kubernetes-master │ │ └── index.yml │ └── kubernetes-minion │ │ └── index.yml └── packages │ ├── common │ └── index.yml │ ├── git │ └── index.yml │ ├── golang │ └── index.yml │ ├── python │ └── index.yml │ ├── rudder │ └── index.yml │ ├── etcdctl │ └── index.yml │ ├── golang1.4 │ └── index.yml │ ├── mercurial │ └── index.yml │ ├── bosh-helpers │ └── index.yml │ ├── etcd │ └── index.yml │ ├── docker │ └── index.yml │ ├── flannel │ └── index.yml │ ├── kubernetes │ └── index.yml │ └── guestbook-example │ └── index.yml ├── releases └── kubernetes │ ├── index.yml │ ├── kubernetes-1.yml │ ├── kubernetes-2.yml │ ├── kubernetes-3.yml │ └── kubernetes-4.yml ├── .gitmodules ├── templates ├── k8s-deployment.yml ├── k8s-jobs.yml ├── k8s-infrastructure-aws.yml └── k8s-infrastructure-warden.yml ├── generate_deployment_manifest ├── vars.yml ├── Gemfile.lock ├── README.md ├── pipeline.yml └── LICENSE /jobs/guestbook-example/monit: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jobs/create-kubernetes-dns/monit: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jobs/etcd: -------------------------------------------------------------------------------- 1 | ../src/etcd-release/jobs/etcd -------------------------------------------------------------------------------- /src/etcd-common: -------------------------------------------------------------------------------- 1 | etcd-release/src/etcd-common -------------------------------------------------------------------------------- /src/github.com: -------------------------------------------------------------------------------- 1 | etcd-release/src/github.com -------------------------------------------------------------------------------- /packages/etcd: -------------------------------------------------------------------------------- 1 | ../src/etcd-release/packages/etcd -------------------------------------------------------------------------------- /packages/golang1.4: -------------------------------------------------------------------------------- 1 | ../src/etcd-release/packages/golang1.4 -------------------------------------------------------------------------------- /packages/etcd-common: -------------------------------------------------------------------------------- 1 | ../src/etcd-release/packages/etcd-common -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'guard' 3 | gem 'guard-bosh' 4 | -------------------------------------------------------------------------------- /packages/common/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: common 3 | files: 4 | - common/utils.sh 5 | -------------------------------------------------------------------------------- /packages/git/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: git 3 | files: 4 | - git/git-1.7.11.2.tar.gz -------------------------------------------------------------------------------- /packages/python/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: python 3 | files: 4 | - python/**/* 5 | -------------------------------------------------------------------------------- /packages/common/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | cp -a common/* ${BOSH_INSTALL_TARGET} -------------------------------------------------------------------------------- /ci/concourse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudCredo/kubernetes-release/HEAD/ci/concourse.png -------------------------------------------------------------------------------- /packages/golang/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: golang 3 | 4 | files: 5 | - golang/go1.2.1.linux-amd64.tar.gz 6 | -------------------------------------------------------------------------------- /packages/bosh-helpers/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: bosh-helpers 3 | dependencies: {} 4 | files: 5 | - bosh-helpers/* 6 | -------------------------------------------------------------------------------- /packages/mercurial/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: mercurial 3 | dependencies: 4 | - python 5 | files: 6 | - mercurial/**/* 7 | -------------------------------------------------------------------------------- /packages/guestbook-example/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: guestbook-example 3 | files: 4 | - kubernetes/examples/guestbook/**/* 5 | -------------------------------------------------------------------------------- /packages/flannel/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: flannel 3 | dependencies: 4 | - git 5 | - golang 6 | files: 7 | - flannel/**/* 8 | -------------------------------------------------------------------------------- /packages/golang/packaging: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | tar xzf golang/go1.2.1.linux-amd64.tar.gz 4 | cp -R go/* ${BOSH_INSTALL_TARGET} 5 | -------------------------------------------------------------------------------- /config/final.yml: -------------------------------------------------------------------------------- 1 | --- 2 | final_name: kubernetes 3 | min_cli_version: 1.5.0.pre.1001 4 | blobstore: 5 | provider: s3 6 | options: 7 | bucket_name: kubernetes-release 8 | -------------------------------------------------------------------------------- /packages/python/packaging: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e -x 3 | tar zxvf python/Python-2.7.8.tgz 4 | cd Python-2.7.8 5 | ./configure --prefix=${BOSH_INSTALL_TARGET} 6 | make install 7 | -------------------------------------------------------------------------------- /packages/guestbook-example/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | cp kubernetes/examples/guestbook/*.yaml ${BOSH_INSTALL_TARGET} 3 | echo ' type: NodePort' >> ${BOSH_INSTALL_TARGET}/frontend-service.yaml 4 | -------------------------------------------------------------------------------- /packages/flannel/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | export GOROOT=$(readlink -nf /var/vcap/packages/golang) 3 | export PATH=$GOROOT/bin:$PATH 4 | cd flannel 5 | ./build 6 | cp -r bin ${BOSH_INSTALL_TARGET} 7 | -------------------------------------------------------------------------------- /packages/git/packaging: -------------------------------------------------------------------------------- 1 | set -e -x 2 | 3 | tar xzf git/git-1.7.11.2.tar.gz 4 | 5 | cd git-1.7.11.2 6 | ./configure --prefix=${BOSH_INSTALL_TARGET} 7 | make NO_TCLTK=Yes NO_PYTHON=Yes 8 | make NO_TCLTK=Yes NO_PYTHON=Yes install -------------------------------------------------------------------------------- /packages/docker/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: docker 3 | dependencies: {} 4 | files: 5 | - docker/aufs-tools_3.2+20130722-1.1_amd64.deb 6 | - docker/autoconf-2.69.tar.gz 7 | - docker/bridge-utils-1.5.tar.gz 8 | - docker/docker-1.7.0 9 | -------------------------------------------------------------------------------- /packages/mercurial/packaging: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e -x 3 | tar zxvf mercurial/mercurial-3.1.1.tar.gz 4 | cd mercurial-3.1.1/ 5 | export PATH=/var/vcap/packages/python/bin:$PATH 6 | make PREFIX=${BOSH_INSTALL_TARGET} install-bin 7 | -------------------------------------------------------------------------------- /ci/delete-deployment: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | bosh -n target "${BOSH_TARGET}" 6 | 7 | set +x 8 | bosh -n login "${BOSH_USERNAME}" "${BOSH_PASSWORD}" 9 | set -x 10 | 11 | bosh -n delete deployment "${BOSH_DEPLOYMENT}" 12 | -------------------------------------------------------------------------------- /Guardfile: -------------------------------------------------------------------------------- 1 | clearing :on 2 | directories %w(jobs templates) 3 | 4 | manifest_path = 'manifest.yml' 5 | guard :bosh, deployment_manifest: manifest_path do 6 | watch(/^jobs\/.*/) 7 | watch(manifest_path) 8 | end 9 | 10 | notification :tmux, display_message: true 11 | -------------------------------------------------------------------------------- /jobs/guestbook-example/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: guestbook-example 3 | templates: 4 | run.erb: bin/run 5 | packages: 6 | - kubernetes 7 | - guestbook-example 8 | 9 | properties: 10 | apiserver.host: 11 | description: "The host running the apiserver to connect to" 12 | -------------------------------------------------------------------------------- /packages/kubernetes/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: kubernetes 3 | dependencies: 4 | - git 5 | - golang1.4 6 | - mercurial 7 | files: 8 | - kubernetes/**/* 9 | excluded_files: 10 | - kubernetes/Godeps/_workspace/src/github.com/fsouza/go-dockerclient/testing/data/symlink 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | config/dev.yml 2 | config/private.yml 3 | releases/*.tgz 4 | releases/**/*.tgz 5 | dev_releases 6 | .blobs 7 | blobs 8 | .dev_builds 9 | .idea 10 | .DS_Store 11 | .final_builds/jobs/**/*.tgz 12 | .final_builds/packages/**/*.tgz 13 | *.swp 14 | *~ 15 | *# 16 | #* 17 | -------------------------------------------------------------------------------- /ci/create-candidate-release.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image: docker:///concourse/concourse-ci 5 | 6 | inputs: 7 | - name: release-repo 8 | - name: version 9 | 10 | run: 11 | path: release-repo/ci/create-candidate-release 12 | 13 | params: 14 | RELEASE_NAME: 15 | -------------------------------------------------------------------------------- /.final_builds/license/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 0fbc9511a7e7f3a4d2f1af47f5ed327237b5f06c: 4 | version: 0fbc9511a7e7f3a4d2f1af47f5ed327237b5f06c 5 | sha1: 8390a7c9448dc0de548a4ead1b0d6d548819597e 6 | blobstore_id: e0c40a5c-f0db-4295-ba15-8e460e703d2c 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/jobs/rudder/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 839d3bae3b6bc4fa5c897abc13ed6ec29d3570b6: 4 | version: 839d3bae3b6bc4fa5c897abc13ed6ec29d3570b6 5 | sha1: 60784c4b16208633b13a4ff90e59dca9796a135d 6 | blobstore_id: 70a89a2f-befc-463c-b866-ed17a6a22e7e 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/common/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | a582714be57d8cfebe0e10099e2cd2d4b359a414: 4 | version: a582714be57d8cfebe0e10099e2cd2d4b359a414 5 | sha1: 36aa6c5082b110dc76e2c8ed51ff6884a5557700 6 | blobstore_id: 4a45ae7f-6994-48f4-842f-37673ce59122 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/git/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 889205bef999ca6f078d4ee7b779186b45c1fa63: 4 | version: 889205bef999ca6f078d4ee7b779186b45c1fa63 5 | sha1: acdfb4f4cfd4089ea5728fa59cf212ad1cf7308c 6 | blobstore_id: 1f7e69d8-9525-4ad1-9909-6db304966861 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/golang/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | aa5f90f06ada376085414bfc0c56c8cd67abba9c: 4 | version: aa5f90f06ada376085414bfc0c56c8cd67abba9c 5 | sha1: 796e8440a735b31b961f905745be18196a16cc2d 6 | blobstore_id: a2824485-87cc-4dca-9451-f6da136f8751 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/python/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 2ba6298a45ec74b87e1af08b9b49d7fb63d6b785: 4 | version: 2ba6298a45ec74b87e1af08b9b49d7fb63d6b785 5 | sha1: d6c690ac76bc920477c26eff9790ab61d158ff3b 6 | blobstore_id: ed949c95-9d07-424f-bd67-2db079804680 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/rudder/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 2d34d9701b758bd057df92f67b1279b02296aa9f: 4 | version: 2d34d9701b758bd057df92f67b1279b02296aa9f 5 | sha1: 97ac73b992c8be55c2617c11831ce52145a48698 6 | blobstore_id: eae3d668-4838-4053-84cb-0a4912419797 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /ci/generate-manifest.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image: docker:///concourse/concourse-ci 5 | 6 | inputs: 7 | - name: release-repo 8 | 9 | run: 10 | path: release-repo/ci/generate-manifest 11 | 12 | params: 13 | INFRASTRUCTURE: 14 | DIRECTOR_UUID: 15 | AWS_SUBNET_ID: 16 | -------------------------------------------------------------------------------- /.final_builds/packages/etcdctl/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 938096b89e64a75d130fe63532695ae057e41866: 4 | version: 938096b89e64a75d130fe63532695ae057e41866 5 | sha1: a477b5f4a1f5f547ea54c0934a0c099fedb294d4 6 | blobstore_id: c5b480bc-8068-448a-95c0-2ed80b451509 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/golang1.4/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | f57ddbc8d55d7a0f08775bf76bb6a27dc98c7ea7: 4 | version: f57ddbc8d55d7a0f08775bf76bb6a27dc98c7ea7 5 | sha1: 840ef31dc57272fa0d24c6bf144eaa50623a5a61 6 | blobstore_id: 8e4ce859-0a65-4551-957b-1c3dbe30c06c 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /.final_builds/packages/mercurial/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 0deb3f48206b4d4bd7aeb9e2f67ccc3371cce1df: 4 | version: 0deb3f48206b4d4bd7aeb9e2f67ccc3371cce1df 5 | sha1: 61856005809e451d6c930e32ab47a41a894fce68 6 | blobstore_id: 9933789d-ebe2-4902-ba23-9b2236feffa1 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /jobs/docker/templates/config/docker_logrotate.cron.erb: -------------------------------------------------------------------------------- 1 | <%= p('docker.daemon.logrotate.frequency') %> test -x /usr/sbin/logrotate && /usr/sbin/logrotate --state /var/vcap/sys/tmp/docker/logrotate.status /var/vcap/jobs/docker/config/logrotate.conf >>/var/vcap/sys/log/docker/docker_logrotate_cron.log 2>&1 2 | -------------------------------------------------------------------------------- /.final_builds/packages/bosh-helpers/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 55717f488eb12fd47c95fd524ab1cd6304c7ce7e: 4 | version: 55717f488eb12fd47c95fd524ab1cd6304c7ce7e 5 | sha1: b1e4eb91654729db0039b6d472f86117881104fc 6 | blobstore_id: cb87e1f4-068d-49b1-8781-2fe42d6b5685 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /ci/run-errand: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | bosh -n target "${BOSH_TARGET}" 6 | 7 | set +x 8 | bosh -n login "${BOSH_USERNAME}" "${BOSH_PASSWORD}" 9 | set -x 10 | 11 | bosh -n download manifest "${BOSH_DEPLOYMENT}" manifest.yml 12 | bosh -n -d manifest.yml run errand "${BOSH_ERRAND}" 13 | -------------------------------------------------------------------------------- /jobs/kubernetes-minion/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: kubernetes-minion 3 | 4 | packages: 5 | - common 6 | - kubernetes 7 | 8 | templates: 9 | kubelet_ctl.erb: bin/kubelet_ctl 10 | proxy_ctl.erb: bin/proxy_ctl 11 | 12 | properties: 13 | apiserver.host: 14 | description: IP address of the API 15 | -------------------------------------------------------------------------------- /packages/bosh-helpers/packaging: -------------------------------------------------------------------------------- 1 | set -e # exit immediately if a simple command exits with a non-zero status 2 | set -u # report the usage of uninitialized variables 3 | 4 | # Copy Bosh Helpers package 5 | echo "Copying Bosh Helpers..." 6 | cp -a ${BOSH_COMPILE_TARGET}/bosh-helpers/* ${BOSH_INSTALL_TARGET}/ 7 | -------------------------------------------------------------------------------- /.final_builds/jobs/create-kubernetes-dns/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | 1f898ee26f32e26cac6ce7e4422349be6c0e5a4c: 4 | version: 1f898ee26f32e26cac6ce7e4422349be6c0e5a4c 5 | sha1: b3a6d8a19f2379940c08ce1be0ba571f085909be 6 | blobstore_id: 582a8123-bb2d-4f34-994d-7b7431c32323 7 | format-version: '2' 8 | -------------------------------------------------------------------------------- /ci/create-candidate-release: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | ROOT="$PWD" 5 | VERSION="$(cat version/number)" 6 | 7 | pushd release-repo/ 8 | bosh -n create release --with-tarball --name "$RELEASE_NAME" --version "$VERSION" 9 | mv dev_releases/${RELEASE_NAME}/${RELEASE_NAME}-*.tgz "$ROOT" 10 | popd 11 | -------------------------------------------------------------------------------- /ci/delete-deployment.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image: docker:///concourse/concourse-ci 5 | 6 | inputs: 7 | - name: release-repo 8 | 9 | run: 10 | path: release-repo/ci/delete-deployment 11 | 12 | params: 13 | BOSH_TARGET: 14 | BOSH_USERNAME: 15 | BOSH_PASSWORD: 16 | BOSH_DEPLOYMENT: 17 | -------------------------------------------------------------------------------- /ci/run-errand.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image: docker:///concourse/concourse-ci 5 | 6 | inputs: 7 | - name: release-repo 8 | 9 | run: 10 | path: release-repo/ci/run-errand 11 | 12 | params: 13 | BOSH_TARGET: 14 | BOSH_USERNAME: 15 | BOSH_PASSWORD: 16 | BOSH_DEPLOYMENT: 17 | BOSH_ERRAND: 18 | -------------------------------------------------------------------------------- /releases/kubernetes/index.yml: -------------------------------------------------------------------------------- 1 | --- 2 | builds: 3 | cdc5c327-d5be-4075-b9cd-b5b33534bbb6: 4 | version: '1' 5 | 9077bf2b-278d-4968-9830-4f69c247f428: 6 | version: '2' 7 | bfa961b7-816e-4762-9bb3-3bae8be897c4: 8 | version: '3' 9 | 7eca499d-de13-48b8-99e0-022d59260010: 10 | version: '4' 11 | format-version: '2' 12 | -------------------------------------------------------------------------------- /jobs/docker/templates/config/logrotate.conf.erb: -------------------------------------------------------------------------------- 1 | /var/vcap/sys/log/docker/*.log { 2 | missingok 3 | rotate <%= p('docker.daemon.logrotate.rotate') %> 4 | compress 5 | delaycompress 6 | notifempty 7 | copytruncate 8 | size <%= p('docker.daemon.logrotate.size') %> 9 | su <%= p('docker.user') %> <%= p('docker.group') %> 10 | } 11 | -------------------------------------------------------------------------------- /ci/finalise-release.yml: -------------------------------------------------------------------------------- 1 | --- 2 | platform: linux 3 | 4 | image: docker:///concourse/concourse-ci 5 | 6 | inputs: 7 | - name: release-repo 8 | - name: version 9 | - name: candidate-release 10 | 11 | run: 12 | path: release-repo/ci/finalise-release 13 | 14 | params: 15 | RELEASE_NAME: 16 | BUCKET_ACCESS_KEY: 17 | BUCKET_SECRET_KEY: 18 | -------------------------------------------------------------------------------- /jobs/flannel/monit: -------------------------------------------------------------------------------- 1 | check process flannel 2 | with pidfile /var/vcap/sys/run/flannel/flannel.pid 3 | start program "/var/vcap/jobs/flannel/bin/flannel_ctl start" 4 | with timeout 60 seconds 5 | stop program "/var/vcap/jobs/flannel/bin/flannel_ctl stop" 6 | <% if spec.job.templates.any?{|t| t.name == 'etcd'} %> 7 | depends on etcd 8 | <% end %> 9 | -------------------------------------------------------------------------------- /ci/generate-manifest: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e -x 3 | 4 | ROOT="$PWD" 5 | 6 | pushd release-repo/ 7 | 8 | ./generate_deployment_manifest "$INFRASTRUCTURE" "$DIRECTOR_UUID" > "${ROOT}/manifest.yml" 9 | 10 | if [ "$INFRASTRUCTURE" == "aws" ] 11 | then 12 | sed -i "s/subnet-00000000/${AWS_SUBNET_ID}/g" "${ROOT}/manifest.yml" 13 | fi 14 | popd 15 | -------------------------------------------------------------------------------- /jobs/flannel/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: flannel 3 | 4 | packages: 5 | - common 6 | - git 7 | - golang 8 | - etcd 9 | - flannel 10 | 11 | templates: 12 | flannel_ctl.erb: bin/flannel_ctl 13 | 14 | properties: 15 | etcd.machines: 16 | description: "Addresses of etcd machines" 17 | networks.apps: 18 | description: "Used to get our IP address" 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/flannel"] 2 | path = src/flannel 3 | url = https://github.com/coreos/flannel.git 4 | [submodule "src/kubernetes"] 5 | path = src/kubernetes 6 | url = https://github.com/GoogleCloudPlatform/kubernetes.git 7 | [submodule "src/etcd-release"] 8 | path = src/etcd-release 9 | url = https://github.com/cloudfoundry-incubator/etcd-release.git 10 | -------------------------------------------------------------------------------- /jobs/create-kubernetes-dns/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: create-kubernetes-dns 3 | templates: 4 | run.erb: bin/run 5 | skydns-controller.yaml.erb: bin/skydns-controller.yaml 6 | skydns-service.yaml.erb: bin/skydns-service.yaml 7 | packages: 8 | - kubernetes 9 | 10 | properties: 11 | apiserver.host: 12 | description: "The host running the apiserver to connect to" 13 | -------------------------------------------------------------------------------- /jobs/kubernetes-master/spec: -------------------------------------------------------------------------------- 1 | --- 2 | name: kubernetes-master 3 | 4 | packages: 5 | - common 6 | - kubernetes 7 | 8 | templates: 9 | apiserver_ctl.erb: bin/apiserver_ctl 10 | controller-manager_ctl.erb: bin/controller-manager_ctl 11 | scheduler_ctl.erb: bin/scheduler_ctl 12 | 13 | properties: 14 | apiserver.machines: 15 | description: List of machines to schedule onto 16 | -------------------------------------------------------------------------------- /src/bosh-helpers/monit_debugger: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # USAGE monit_debugger