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