diff --git a/.gitmodules b/.gitmodules index d82bee14b..e69de29bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,53 +0,0 @@ -[submodule "roles/apps/k8s-kube-ui"] - path = roles/apps/k8s-kube-ui - url = https://github.com/ansibl8s/k8s-kube-ui.git - branch = v1.0 -[submodule "roles/apps/k8s-kubedns"] - path = roles/apps/k8s-kubedns - url = https://github.com/ansibl8s/k8s-kubedns.git - branch = v1.0 -[submodule "roles/apps/k8s-common"] - path = roles/apps/k8s-common - url = https://github.com/ansibl8s/k8s-common.git - branch = v1.0 -[submodule "roles/apps/k8s-redis"] - path = roles/apps/k8s-redis - url = https://github.com/ansibl8s/k8s-redis.git - branch = v1.0 -[submodule "roles/apps/k8s-elasticsearch"] - path = roles/apps/k8s-elasticsearch - url = https://github.com/ansibl8s/k8s-elasticsearch.git -[submodule "roles/apps/k8s-fabric8"] - path = roles/apps/k8s-fabric8 - url = https://github.com/ansibl8s/k8s-fabric8.git - branch = v1.0 -[submodule "roles/apps/k8s-memcached"] - path = roles/apps/k8s-memcached - url = https://github.com/ansibl8s/k8s-memcached.git - branch = v1.0 -[submodule "roles/apps/k8s-postgres"] - path = roles/apps/k8s-postgres - url = https://github.com/ansibl8s/k8s-postgres.git - branch = v1.0 -[submodule "roles/apps/k8s-kubedash"] - path = roles/apps/k8s-kubedash - url = https://github.com/ansibl8s/k8s-kubedash.git -[submodule "roles/apps/k8s-heapster"] - path = roles/apps/k8s-heapster - url = https://github.com/ansibl8s/k8s-heapster.git -[submodule "roles/apps/k8s-influxdb"] - path = roles/apps/k8s-influxdb - url = https://github.com/ansibl8s/k8s-influxdb.git -[submodule "roles/apps/k8s-kube-logstash"] - path = roles/apps/k8s-kube-logstash - url = https://github.com/ansibl8s/k8s-kube-logstash.git -[submodule "roles/apps/k8s-etcd"] - path = roles/apps/k8s-etcd - url = https://github.com/ansibl8s/k8s-etcd.git -[submodule "roles/apps/k8s-rabbitmq"] - path = roles/apps/k8s-rabbitmq - url = https://github.com/ansibl8s/k8s-rabbitmq.git -[submodule "roles/apps/k8s-pgbouncer"] - path = roles/apps/k8s-pgbouncer - url = https://github.com/ansibl8s/k8s-pgbouncer.git - branch = v1.0 diff --git a/apps.yml b/apps.yml deleted file mode 100644 index ee9d9f36b..000000000 --- a/apps.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -- hosts: kube-master - roles: - # System - - { role: apps/k8s-kubedns, tags: ['kubedns', 'kube-system'] } - - # Databases - - { role: apps/k8s-postgres, tags: 'postgres' } - - { role: apps/k8s-elasticsearch, tags: 'elasticsearch' } - - { role: apps/k8s-memcached, tags: 'memcached' } - - { role: apps/k8s-redis, tags: 'redis' } - - # Msg Broker - - { role: apps/k8s-rabbitmq, tags: 'rabbitmq' } - - # Monitoring - - { role: apps/k8s-influxdb, tags: ['influxdb', 'kube-system']} - - { role: apps/k8s-heapster, tags: ['heapster', 'kube-system']} - - { role: apps/k8s-kubedash, tags: ['kubedash', 'kube-system']} - - # logging - - { role: apps/k8s-kube-logstash, tags: 'kube-logstash'} - - # Console - - { role: apps/k8s-fabric8, tags: 'fabric8' } - - { role: apps/k8s-kube-ui, tags: ['kube-ui', 'kube-system']} - - # ETCD - - { role: apps/k8s-etcd, tags: 'etcd'} diff --git a/roles/apps/k8s-common b/roles/apps/k8s-common deleted file mode 160000 index 8abd4ec3b..000000000 --- a/roles/apps/k8s-common +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8abd4ec3bcdc5f36d96c312f3a424724520a12b8 diff --git a/roles/apps/k8s-elasticsearch b/roles/apps/k8s-elasticsearch deleted file mode 160000 index f089f60fb..000000000 --- a/roles/apps/k8s-elasticsearch +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f089f60fb1102378b6def3972b50644deff96484 diff --git a/roles/apps/k8s-etcd b/roles/apps/k8s-etcd deleted file mode 160000 index abd61ee91..000000000 --- a/roles/apps/k8s-etcd +++ /dev/null @@ -1 +0,0 @@ -Subproject commit abd61ee91ae729e7b79ecd56d6bb4eed0ddbe604 diff --git a/roles/apps/k8s-fabric8 b/roles/apps/k8s-fabric8 deleted file mode 160000 index 702923e20..000000000 --- a/roles/apps/k8s-fabric8 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 702923e2000d07bb95044c747c499bb04c3d16bf diff --git a/roles/apps/k8s-heapster b/roles/apps/k8s-heapster deleted file mode 160000 index 5442209ac..000000000 --- a/roles/apps/k8s-heapster +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5442209acd072d170f9d24e2bbd00b95af737d7d diff --git a/roles/apps/k8s-influxdb b/roles/apps/k8s-influxdb deleted file mode 160000 index b892974d5..000000000 --- a/roles/apps/k8s-influxdb +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b892974d5b8bc624ac742e8a6fb7737db8a96a32 diff --git a/roles/apps/k8s-kube-logstash b/roles/apps/k8s-kube-logstash deleted file mode 160000 index 71c7bf982..000000000 --- a/roles/apps/k8s-kube-logstash +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 71c7bf98210e8907554a26e25cc9c2a3ece8cffd diff --git a/roles/apps/k8s-kube-ui b/roles/apps/k8s-kube-ui deleted file mode 160000 index 0b5be08de..000000000 --- a/roles/apps/k8s-kube-ui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0b5be08de2b3f373146a36aef88be3d4e5565dc2 diff --git a/roles/apps/k8s-kubedash b/roles/apps/k8s-kubedash deleted file mode 160000 index 21544cc2a..000000000 --- a/roles/apps/k8s-kubedash +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 21544cc2a908b1578409c5eaca7ee2771b3b9811 diff --git a/roles/apps/k8s-kubedns b/roles/apps/k8s-kubedns deleted file mode 160000 index 82b75f841..000000000 --- a/roles/apps/k8s-kubedns +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 82b75f84129189fcfb08adfeb6ed6114c68dde3e diff --git a/roles/apps/k8s-memcached b/roles/apps/k8s-memcached deleted file mode 160000 index 60a66ca0a..000000000 --- a/roles/apps/k8s-memcached +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 60a66ca0ae4dc9a7e29b9b9619134adada53e1a4 diff --git a/roles/apps/k8s-pgbouncer b/roles/apps/k8s-pgbouncer deleted file mode 160000 index 79961d1df..000000000 --- a/roles/apps/k8s-pgbouncer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 79961d1df223dd1563e41a1df109c4cffa8801ed diff --git a/roles/apps/k8s-postgres b/roles/apps/k8s-postgres deleted file mode 160000 index a03a14c46..000000000 --- a/roles/apps/k8s-postgres +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a03a14c46f19732fa7a3ee37a37d9f0375a6e2d2 diff --git a/roles/apps/k8s-rabbitmq b/roles/apps/k8s-rabbitmq deleted file mode 160000 index 2b538e243..000000000 --- a/roles/apps/k8s-rabbitmq +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2b538e243a3230c97591a28ac438619ebd555e4c diff --git a/roles/apps/k8s-redis b/roles/apps/k8s-redis deleted file mode 160000 index a4e134fef..000000000 --- a/roles/apps/k8s-redis +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a4e134fef3c5ed5db83201f38347638e4bc0200c diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml index ce4f3212c..be3f568d2 100644 --- a/roles/download/defaults/main.yml +++ b/roles/download/defaults/main.yml @@ -9,12 +9,15 @@ calico_cni_version: v1.0.0 weave_version: v1.4.4 # Download URL's -kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64" -etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-amd64.tar.gz" -calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download/{{calico_version}}/calicoctl" -calico_cni_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico" -calico_cni_ipam_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico-ipam" -weave_download_url: "https://github.com/weaveworks/weave/releases/download/{{weave_version}}/weave" +kubelet_download_url: "https://storage.googleapis.com/kubespray/{{kube_version}}_kubernetes-kubelet" +apiserver_download_url: "https://storage.googleapis.com/kubespray/{{kube_version}}_kubernetes-apiserver" +kubectl_download_url: "https://storage.googleapis.com/kubespray/{{kube_version}}_kubernetes-kubectl" + +etcd_download_url: "https://storage.googleapis.com/kubespray/{{etcd_version}}_etcd" +calico_download_url: "https://storage.googleapis.com/kubespray/{{calico_version}}_calico" +calico_cni_download_url: "https://storage.googleapis.com/kubespray/{{calico_cni_version}}_calico-cni-plugin" +calico_cni_ipam_download_url: "https://storage.googleapis.com/kubespray/{{calico_cni_version}}_calico-cni-plugin-ipam" +weave_download_url: "https://storage.googleapis.com/kubespray/{{weave_version}}_weave" # Checksums calico_checksum: "1fa22c0ee0cc661f56aa09169a3661fb46e552b53fae5fae9aac010e0666b281" @@ -29,57 +32,73 @@ kube_apiserver_checksum: "aebb2c131674e231ba8dcad4438624c876627e77f47b0c6ef96bd2 downloads: - name: calico dest: calico/bin/calicoctl + version: "{{calico_version}}" sha256: "{{ calico_checksum }}" + source_url: "{{ calico_download_url }}" url: "{{ calico_download_url }}" owner: "root" mode: "0755" - name: calico-cni-plugin dest: calico/bin/calico + version: "{{calico_cni_version}}" sha256: "{{ calico_cni_checksum }}" + source_url: "{{ calico_cni_download_url }}" url: "{{ calico_cni_download_url }}" owner: "root" mode: "0755" - name: calico-cni-plugin-ipam dest: calico/bin/calico-ipam + version: "{{calico_cni_version}}" sha256: "{{ calico_cni_ipam_checksum }}" + source_url: "{{ calico_cni_ipam_download_url }}" url: "{{ calico_cni_ipam_download_url }}" owner: "root" mode: "0755" - name: weave dest: weave/bin/weave + version: "{{weave_version}}" + source_url: "{{weave_download_url}}" url: "{{weave_download_url}}" sha256: "{{ weave_checksum }}" owner: "root" mode: "0755" - name: etcd + version: "{{etcd_version}}" dest: "etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz" sha256: "{{ etcd_checksum }}" + source_url: "{{ etcd_download_url }}" url: "{{ etcd_download_url }}" unarchive: true owner: "etcd" mode: "0755" - name: kubernetes-kubelet + version: "{{kube_version}}" dest: kubernetes/bin/kubelet sha256: "{{kubelet_checksum}}" - url: "{{ kube_download_url }}/kubelet" + source_url: "{{ kubelet_download_url }}" + url: "{{ kubelet_download_url }}" owner: "kube" mode: "0755" - name: kubernetes-kubectl dest: kubernetes/bin/kubectl + version: "{{kube_version}}" sha256: "{{kubectl_checksum}}" - url: "{{ kube_download_url }}/kubectl" + source_url: "{{ kubectl_download_url }}" + url: "{{ kubectl_download_url }}" owner: "kube" mode: "0755" - name: kubernetes-apiserver dest: kubernetes/bin/kube-apiserver + version: "{{kube_version}}" sha256: "{{kube_apiserver_checksum}}" - url: "{{ kube_download_url }}/kube-apiserver" + source_url: "{{ apiserver_download_url }}" + url: "{{ apiserver_download_url }}" owner: "kube" mode: "0755" diff --git a/roles/download/tasks/uploads.yml b/roles/download/tasks/uploads.yml new file mode 100644 index 000000000..ed97d539c --- /dev/null +++ b/roles/download/tasks/uploads.yml @@ -0,0 +1 @@ +--- diff --git a/roles/uploads/defaults/main.yml b/roles/uploads/defaults/main.yml new file mode 100644 index 000000000..f1a767b48 --- /dev/null +++ b/roles/uploads/defaults/main.yml @@ -0,0 +1,101 @@ +--- +local_release_dir: /tmp + +# Versions +kube_version: v1.1.8 +etcd_version: v2.2.5 +calico_version: v0.17.0 +calico_cni_version: v1.0.0 +weave_version: v1.4.4 + +# Download URL's +kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64" +etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-amd64.tar.gz" +calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download/{{calico_version}}/calicoctl" +calico_cni_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico" +calico_cni_ipam_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico-ipam" +weave_download_url: "https://github.com/weaveworks/weave/releases/download/{{weave_version}}/weave" + +# Checksums +calico_checksum: "1fa22c0ee0cc661f56aa09169a3661fb46e552b53fae5fae9aac010e0666b281" +calico_cni_checksum: "cfbb95d4416cb65845a188f3bd991fff232bd5ce3463b2919d586ab77967aecd" +calico_cni_ipam_checksum: "93ebf8756b26314e1e3f612f1e824418cbb0a8df2942664422e697bcb109fbb2" +weave_checksum: "152942c330f87ab475d87d9311b91674b90f25ea685bd4e04e0495d5fe09a957" +etcd_checksum: "aa6037406257d2a1bc48ffa769afe7a4f8a04cc1ffcd36ef84f9ee8bc4eca756" +kubectl_checksum: "b2222986e9f05da8091a16134022d243b3c46a5899486d1b775dbc950ebf36cd" +kubelet_checksum: "a73cf50ce3da2d88a46064cd7e5ef48ece3c73518cf7a609ef8a680c214d3f4c" +kube_apiserver_checksum: "aebb2c131674e231ba8dcad4438624c876627e77f47b0c6ef96bd21d23298ffa" + +downloads: + - name: calico + dest: calico/bin/calicoctl + version: "{{calico_version}}" + sha256: "{{ calico_checksum }}" + source_url: "{{ calico_download_url }}" + url: "{{ calico_download_url }}" + owner: "root" + mode: "0755" + + - name: calico-cni-plugin + dest: calico/bin/calico + version: "{{calico_cni_version}}" + sha256: "{{ calico_cni_checksum }}" + source_url: "{{ calico_cni_download_url }}" + url: "{{ calico_cni_download_url }}" + owner: "root" + mode: "0755" + + - name: calico-cni-plugin-ipam + dest: calico/bin/calico-ipam + version: "{{calico_cni_version}}" + sha256: "{{ calico_cni_ipam_checksum }}" + source_url: "{{ calico_cni_ipam_download_url }}" + url: "{{ calico_cni_ipam_download_url }}" + owner: "root" + mode: "0755" + + - name: weave + dest: weave/bin/weave + version: "{{weave_version}}" + source_url: "{{weave_download_url}}" + url: "{{weave_download_url}}" + sha256: "{{ weave_checksum }}" + owner: "root" + mode: "0755" + + - name: etcd + version: "{{etcd_version}}" + dest: "etcd/etcd-{{ etcd_version }}-linux-amd64.tar.gz" + sha256: "{{ etcd_checksum }}" + source_url: "{{ etcd_download_url }}" + url: "{{ etcd_download_url }}" + unarchive: true + owner: "etcd" + mode: "0755" + + - name: kubernetes-kubelet + version: "{{kube_version}}" + dest: kubernetes/bin/kubelet + sha256: "{{kubelet_checksum}}" + source_url: "{{ kube_download_url }}/kubelet" + url: "{{ kube_download_url }}/kubelet" + owner: "kube" + mode: "0755" + + - name: kubernetes-kubectl + dest: kubernetes/bin/kubectl + version: "{{kube_version}}" + sha256: "{{kubectl_checksum}}" + source_url: "{{ kube_download_url }}/kubectl" + url: "{{ kube_download_url }}/kubectl" + owner: "kube" + mode: "0755" + + - name: kubernetes-apiserver + dest: kubernetes/bin/kube-apiserver + version: "{{kube_version}}" + sha256: "{{kube_apiserver_checksum}}" + source_url: "{{ kube_download_url }}/kube-apiserver" + url: "{{ kube_download_url }}/kube-apiserver" + owner: "kube" + mode: "0755" diff --git a/roles/uploads/tasks/main.yml b/roles/uploads/tasks/main.yml new file mode 100644 index 000000000..68523eca0 --- /dev/null +++ b/roles/uploads/tasks/main.yml @@ -0,0 +1,24 @@ +--- +- name: Create dest directories + file: path={{local_release_dir}}/{{item.dest|dirname}} state=directory recurse=yes + with_items: downloads + +- name: Download items + get_url: + url: "{{item.source_url}}" + dest: "{{local_release_dir}}/{{item.dest}}" + sha256sum: "{{item.sha256 | default(omit)}}" + owner: "{{ item.owner|default(omit) }}" + mode: "{{ item.mode|default(omit) }}" + with_items: downloads + +- name: uploads items + gc_storage: + bucket: kubespray + object: "{{item.version}}_{{item.name}}" + src: "{{ local_release_dir }}/{{item.dest}}" + mode: put + permission: public-read + gs_access_key: "changeme" + gs_secret_key: "changeme" + with_items: downloads diff --git a/uploads.yml b/uploads.yml new file mode 100644 index 000000000..5544f4588 --- /dev/null +++ b/uploads.yml @@ -0,0 +1,11 @@ +--- +- hosts: localhost + roles: + - {role: uploads} + +# TEST download +- hosts: localhost + vars: + local_release_dir: /tmp/from_gcloud + roles: + - {role: download} \ No newline at end of file