
def call(List namespaces = ['default'], List excludes = ['docker-registry']) {

    println "Tearing down charts in namespaces: ${namespaces.join(', ')}."

    def exc = excludes.join("|")
    for(int i = 0;i<namespaces.size();i++) {
        def n = namespaces[i]
        sh """
          for hchart in \$(helm list --all -n ${n} -q | grep -E -v '${exc}');
          do
              echo "Purging chart: \${hchart}"
              helm delete -n ${n} "\${hchart}"
          done
        """
    }

    println "Waiting for pods to be removed from namespaces: ${namespaces.join(', ')}."
    for(int i = 0;i<namespaces.size();i++) {
        def n = namespaces[i]
        sh """
        set +x
        PODS=\$(kubectl get pods -n ${n} --no-headers | wc -l)
        while [[ \$PODS != 0 ]]; do
        sleep 5
        PODS=\$(kubectl get pods -n ${n} --no-headers | wc -l)
        done
        """
    }
}
