From 095d33bc51e95683177ec7f8a21daf0d15e3a8aa Mon Sep 17 00:00:00 2001
From: Miouge1 <Miouge1@users.noreply.github.com>
Date: Mon, 21 May 2018 22:28:08 +0200
Subject: [PATCH] Remove KPM support

---
 docs/ansible.md                          |   1 -
 docs/roadmap.md                          |   2 +-
 inventory/sample/group_vars/all.yml      |   4 -
 roles/kubernetes-apps/kpm/library/kpm.py | 111 -----------------------
 roles/kubernetes-apps/kpm/tasks/main.yml |  20 ----
 roles/kubernetes-apps/meta/main.yml      |   5 -
 6 files changed, 1 insertion(+), 142 deletions(-)
 delete mode 100644 roles/kubernetes-apps/kpm/library/kpm.py
 delete mode 100644 roles/kubernetes-apps/kpm/tasks/main.yml

diff --git a/docs/ansible.md b/docs/ansible.md
index 5e17147be..030f866a1 100644
--- a/docs/ansible.md
+++ b/docs/ansible.md
@@ -123,7 +123,6 @@ The following tags are defined in playbooks:
 |                hyperkube | Manipulations with K8s hyperkube image
 |          k8s-pre-upgrade | Upgrading K8s cluster
 |              k8s-secrets | Configuring K8s certs/keys
-|                      kpm | Installing K8s apps definitions with KPM
 |           kube-apiserver | Configuring static pod kube-apiserver
 |  kube-controller-manager | Configuring static pod kube-controller-manager
 |                  kubectl | Installing kubectl and bash completion
diff --git a/docs/roadmap.md b/docs/roadmap.md
index cf8fa2d9a..a0c1a3ffc 100644
--- a/docs/roadmap.md
+++ b/docs/roadmap.md
@@ -9,7 +9,7 @@ Kubespray's roadmap
 ### Self deployment (pull-mode) [#320](https://github.com/kubespray/kubespray/issues/320)
 - the playbook would install and configure docker/rkt and the etcd cluster
 - the following data would be inserted into etcd: certs,tokens,users,inventory,group_vars.
-- a "kubespray" container would be deployed (kubespray-cli, ansible-playbook, kpm)
+- a "kubespray" container would be deployed (kubespray-cli, ansible-playbook)
 - to be discussed, a way to provide the inventory
 - **self deployment** of the node from inside a container [#321](https://github.com/kubespray/kubespray/issues/321)
 
diff --git a/inventory/sample/group_vars/all.yml b/inventory/sample/group_vars/all.yml
index 282943a8d..d856d064c 100644
--- a/inventory/sample/group_vars/all.yml
+++ b/inventory/sample/group_vars/all.yml
@@ -110,10 +110,6 @@ bin_dir: /usr/local/bin
 # Uncomment this if you have more than 3 nameservers, then we'll only use the first 3.
 #docker_dns_servers_strict: false
 
-## Default packages to install within the cluster, f.e:
-#kpm_packages:
-# - name: kube-system/grafana
-
 ## Certificate Management
 ## This setting determines whether certs are generated via scripts or whether a
 ## cluster of Hashicorp's Vault is started to issue certificates (using etcd
diff --git a/roles/kubernetes-apps/kpm/library/kpm.py b/roles/kubernetes-apps/kpm/library/kpm.py
deleted file mode 100644
index aa44d4cc8..000000000
--- a/roles/kubernetes-apps/kpm/library/kpm.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import kpm.deploy
-from ansible.module_utils.basic import *
-
-DOCUMENTATION = """
----
-module: kpm
-short_description: Application deployment on kubernetes with kpm registry
-description:
-  - Create, remove, and update resources within a Kubernetes Cluster
-version_added: "2.0"
-options:
-  name:
-    required: true
-    default: null
-    description:
-      - The name of the kpm package
-  namespace:
-    required: false
-    default: 'default'
-    description:
-      - The namespace to deploy package. It will be created if doesn't exist
-  force:
-    required: false
-    default: false
-    description:
-      - A flag to indicate to force delete, replace.
-  registry:
-    required: false
-    default: 'https://api.kpm.sh'
-    description:
-      - The registry url to fetch packages
-  version:
-    required: false
-    default: 'None'
-    description:
-      - The package version
-  variables:
-    required: false
-    default: 'None'
-    description:
-      - Set package variables
-  state:
-    required: false
-    choices: ['present', 'absent']
-    default: present
-    description:
-      - present handles checking existence or creating resources,
-        absent handles deleting resource(s).
-requirements:
-  - kubectl
-  - kpm
-author: "Antoine Legrand (ant31_2t@msn.com)"
-"""
-
-EXAMPLES = """
-- name: check presence or install ghost
-  kpm: name=ghost/ghost state=present
-
-- name: check absence or remove rocketchat
-  kpm: name=ant31/rocketchat state=absent
-"""
-
-RETURN = """
-"""
-
-
-def check_changed(result, state='present'):
-        no_change = ["ok", 'protected', 'absent']
-        for r in result:
-                if r['status'] not in no_change:
-                        return True
-        return False
-
-
-def main():
-        module = AnsibleModule(
-                supports_check_mode=True,
-                argument_spec = dict(
-                        version = dict(default=None, required=False),
-                        state = dict(default='present', choices=['present', 'absent']),
-                        name = dict(required=True),
-                        force = dict(required=False, default=False, type='bool'),
-                        variables = dict(required=False, default=None, type='dict'),
-                        registry = dict(required=False, default="https://api.kpm.sh"),
-                        namespace=dict(default='default', required=False)))
-
-        params = {"version": module.params.get("version"),
-                  "namespace": module.params.get('namespace'),
-                  "variables": module.params.get('variables'),
-                  "endpoint": module.params.get('registry'),
-                  "dry": module.check_mode,
-                  "proxy": None,
-                  "fmt": "json"}
-        state = module.params.get("state")
-        try:
-                if state == 'present':
-                        r = kpm.deploy.deploy(module.params.get('name'), **params)
-                elif state == 'absent':
-                        r = kpm.deploy.delete(module.params.get('name'), **params)
-        except Exception as e:
-                module.fail_json(msg=e.message)
-        res = {}
-        res['kpm'] = r
-        res['changed'] = check_changed(r, state)
-        module.exit_json(**res)
-
-if __name__ == '__main__':
-        main()
diff --git a/roles/kubernetes-apps/kpm/tasks/main.yml b/roles/kubernetes-apps/kpm/tasks/main.yml
deleted file mode 100644
index 9aadc07ea..000000000
--- a/roles/kubernetes-apps/kpm/tasks/main.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- name: install kpm
-  pip:
-    name: "kpm"
-    state: "present"
-    version: "0.16.1"
-  when: kpm_packages|default([])| 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|default([])}}"
-  register: kpmresults
-  environment:
-    PATH: "{{ ansible_env.PATH }}:{{ bin_dir }}"
diff --git a/roles/kubernetes-apps/meta/main.yml b/roles/kubernetes-apps/meta/main.yml
index fca51a3b6..acd6f7495 100644
--- a/roles/kubernetes-apps/meta/main.yml
+++ b/roles/kubernetes-apps/meta/main.yml
@@ -4,11 +4,6 @@ dependencies:
     tags:
       - apps
 
-  - role: kubernetes-apps/kpm
-    tags:
-      - apps
-      - kpm
-
   - role: kubernetes-apps/efk
     when: efk_enabled
     tags:
-- 
GitLab