From c6af85e0df417c5e7489ee882b21cc5d9ccd5796 Mon Sep 17 00:00:00 2001 From: Antoine Legrand <2t.antoine@gmail.com> Date: Wed, 7 Sep 2016 20:02:06 +0200 Subject: [PATCH] App deployer plugins --- cluster.yml | 2 +- inventory/group_vars/all.yml | 6 +----- .../{ => ansible}/library/kube.py | 0 .../{ => ansible}/tasks/main.yaml | 0 .../{ => ansible}/templates/kubedns-rc.yml | 0 .../{ => ansible}/templates/kubedns-svc.yml | 0 roles/kubernetes-apps/helm/.gitkeep | 0 roles/kubernetes-apps/helm/tasks/main.yml | 2 ++ .../kubernetes-apps/kpm/library}/kpm.py | 0 roles/kubernetes-apps/kpm/tasks/main.yaml | 20 +++++++++++++++++++ roles/kubernetes-apps/meta/main.yaml | 3 +++ 11 files changed, 27 insertions(+), 6 deletions(-) rename roles/kubernetes-apps/{ => ansible}/library/kube.py (100%) rename roles/kubernetes-apps/{ => ansible}/tasks/main.yaml (100%) rename roles/kubernetes-apps/{ => ansible}/templates/kubedns-rc.yml (100%) rename roles/kubernetes-apps/{ => ansible}/templates/kubedns-svc.yml (100%) create mode 100644 roles/kubernetes-apps/helm/.gitkeep create mode 100644 roles/kubernetes-apps/helm/tasks/main.yml rename {library => roles/kubernetes-apps/kpm/library}/kpm.py (100%) create mode 100644 roles/kubernetes-apps/kpm/tasks/main.yaml create mode 100644 roles/kubernetes-apps/meta/main.yaml diff --git a/cluster.yml b/cluster.yml index 45d4183b9..091bdc103 100644 --- a/cluster.yml +++ b/cluster.yml @@ -25,4 +25,4 @@ - hosts: kube-master[0] roles: - - {role: kubernetes-apps, tags: apps} + - { role: kubernetes-apps, tags: apps } \ No newline at end of file diff --git a/inventory/group_vars/all.yml b/inventory/group_vars/all.yml index 547a9d612..59c572198 100644 --- a/inventory/group_vars/all.yml +++ b/inventory/group_vars/all.yml @@ -130,9 +130,5 @@ dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(2)|ipaddr('address') docker_options: "--insecure-registry={{ kube_service_addresses }}" # default packages to install within the cluster -kpm_packages: - - name: kube-system/kubedns - namespace: kube-system - variables: - cluster_ip: "{{skydns_server}}" +kpm_packages: [] # - name: kube-system/grafana diff --git a/roles/kubernetes-apps/library/kube.py b/roles/kubernetes-apps/ansible/library/kube.py similarity index 100% rename from roles/kubernetes-apps/library/kube.py rename to roles/kubernetes-apps/ansible/library/kube.py diff --git a/roles/kubernetes-apps/tasks/main.yaml b/roles/kubernetes-apps/ansible/tasks/main.yaml similarity index 100% rename from roles/kubernetes-apps/tasks/main.yaml rename to roles/kubernetes-apps/ansible/tasks/main.yaml diff --git a/roles/kubernetes-apps/templates/kubedns-rc.yml b/roles/kubernetes-apps/ansible/templates/kubedns-rc.yml similarity index 100% rename from roles/kubernetes-apps/templates/kubedns-rc.yml rename to roles/kubernetes-apps/ansible/templates/kubedns-rc.yml diff --git a/roles/kubernetes-apps/templates/kubedns-svc.yml b/roles/kubernetes-apps/ansible/templates/kubedns-svc.yml similarity index 100% rename from roles/kubernetes-apps/templates/kubedns-svc.yml rename to roles/kubernetes-apps/ansible/templates/kubedns-svc.yml diff --git a/roles/kubernetes-apps/helm/.gitkeep b/roles/kubernetes-apps/helm/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/roles/kubernetes-apps/helm/tasks/main.yml b/roles/kubernetes-apps/helm/tasks/main.yml new file mode 100644 index 000000000..9fd691ddd --- /dev/null +++ b/roles/kubernetes-apps/helm/tasks/main.yml @@ -0,0 +1,2 @@ +--- +- debug: msg="No helm charts" diff --git a/library/kpm.py b/roles/kubernetes-apps/kpm/library/kpm.py similarity index 100% rename from library/kpm.py rename to roles/kubernetes-apps/kpm/library/kpm.py diff --git a/roles/kubernetes-apps/kpm/tasks/main.yaml b/roles/kubernetes-apps/kpm/tasks/main.yaml new file mode 100644 index 000000000..7e88cc30d --- /dev/null +++ b/roles/kubernetes-apps/kpm/tasks/main.yaml @@ -0,0 +1,20 @@ +--- +- name: install kpm + pip: + name: "kpm" + state: "present" + version: "0.16.1" + when: kpm_packages | length > 0 + +- name: manage kubernetes applications + kpm: + namespace: "{{item.namespace | default(kpm_namespace | default('default'))}}" + registry: "{{item.registry | default(kpm_registry | default('https://api.kpm.sh'))}}" + state: "{{item.state | default(omit)}}" + version: "{{item.version | default(omit)}}" + variables: "{{item.variables | default(omit)}}" + name: "{{item.name}}" + with_items: "{{kpm_packages}}" + register: kpmresults + environment: + PATH: "{{ ansible_env.PATH }}:{{ bin_dir }}" diff --git a/roles/kubernetes-apps/meta/main.yaml b/roles/kubernetes-apps/meta/main.yaml new file mode 100644 index 000000000..496517d72 --- /dev/null +++ b/roles/kubernetes-apps/meta/main.yaml @@ -0,0 +1,3 @@ +dependencies: + - {role: kubernetes-apps/ansible, tags: apps} + - {role: kubernetes-apps/kpm, tags: [apps, kpm]}