task: make changes requested in code review
The changes included with this commit are:
* migrate `pillar.example` to `metadata/service/client.yml` per reclass
* allow users to specify an override `download_url` for helm and kubectl
binaries
diff --git a/metadata/service/client.yml b/metadata/service/client.yml
index 0bef9e4..b807be4 100644
--- a/metadata/service/client.yml
+++ b/metadata/service/client.yml
@@ -5,19 +5,204 @@
parameters:
helm:
client:
+
+ #
+ # The version of the Helm client to install
+ #
version: 2.4.2
+
+ #
+ # The hash for the helm client binary. You must calculate the hash for the
+ # version and flavor of the binary you install (per the helm:client:flavor
+ # configuration value)
+ # Defaults to the SHA 256 hash for the helm-v2.6.2-linux-amd64.tar.gz binary
+ #
+ # The binary is downloaded from:
+ #
+ # https://storage.googleapis.com/kubernetes-helm/helm-v[[ client.version ]]-[[ client.flavor ]].tar.gz
+ #
+ # Here is an example command you can use to calculate the sha256 hash for
+ # the binary:
+ #
+ # ```
+ # shasum -a 256 /path/to/helm-v[[ client.version ]]-linux.amd64.tar.gz
+ # ```
+ #
download_hash: sha256=96f74ff04ec7eb38e5f53aba73132bfe4d6b81168f20574dad25a9bcaceec81b
+
+ #
+ # Optional alternative download URL from which to retrieve the tarred
+ # Helm binary. If specified, this URL will be used instead of the url
+ # computed from the configured helm:client:flavor and helm:client:version
+ # keys.
+ #
+ # download_url: https://storage.googleapis.com/kubernetes-helm/helm-v2.6.2-linux-amd64.tar.gz
+
+ #
+ # The flavor of the helm or kubectl binary to install, as informed by the
+ # target minion's OS. For available flavor names, peruse the listing of
+ # Helm binaries exposed at:
+ #
+ # https://storage.googleapis.com/kubernetes-helm
+ #
+ # Defaults to linux-amd64
+ #
+ # flavor: linux-amd64
+
+ #
+ # The path to which the Helm binary should be installed. Defaults to
+ # /usr/bin/helm
+ #
+ # bin: /usr/bin/helm
+
+ #
+ # The path this formula should use as helm home. Defaults to /srv/helm/home;
+ # it is recommended to set this to /root/.helm if users will be calling
+ # helm from the command line directly on the target minion
+ #
+ # helm_home: /srv/helm/home
+
+ #
+ # The path where this formula places configuration values files on the
+ # target minion. Defaults to /srv/helm/values
+ #
+ # values_dir: /srv/helm/values
+
+ #
+ # Configurations to manage the cluster's Tiller installation
+ #
tiller:
+ #
+ # Whether Tiller should be deployed to the kubernetes cluster as part of
+ # this formaul. Defaults to true.
+ #
install: true
- namespace: kube-system
+
+ #
+ # The namespace to which Tiller should be installed (only used if
+ # `helm:client:tiller:install` is set to true).
+ # Defaults to `kube-system`
+ #
+ naamespace: kube-system
+
+ #
+ # The host IP or name and port for an existing tiller installation that
+ # should be used by the Helm client. Defaults to Helm's default if
+ # unspecified.
+ #
+ # host:
+
+ #
+ # Configurations defined to manage the target minion's kubectl installation
+ #
kubectl:
+ #
+ # Whether kubectl should be installed as part of this formula.
+ # Defaults to false
+ #
install: false
- download_url: https://dl.k8s.io/v1.6.7/kubernetes-client-linux-amd64.tar.gz
+
+ #
+ # The hash for the kubectl binary version to install. You must calculate
+ # the hash for the version and flavor of the binary you install (per the
+ # helm:client:flavor configuration value)
+ #
+ #
+ # The binary is downloaded from:
+ #
+ # https://dl.k8s.io/v[[ client.kubectl.version ]]/kubernetes-client-[[ client.flavor ]].tar.gz
+ #
+ #
+ # Defaults to the SHA 256 hash for the Linux distribution of version 1.6.7
+ #
+ # Here is an example command you can use to calculate the sha256 hash for
+ # the binary:
+ #
+ # ```
+ # shasum -a 256 /path/to/kubernetes-client-[[ client.flavor ]].tar.gz
+ # ```
+ #
download_hash: sha256=54947ef84181e89f9dbacedd54717cbed5cc7f9c36cb37bc8afc9097648e2c91
- tarball_path: kubernetes/client/bin/kubectl
+
+ #
+ # The version of the kubectl binary to install.
+ # Defaults to 1.6.7
+ #
+ # version: 1.6.7
+
+ #
+ # Optional alternative download URL from which to retrieve the tarred
+ # kubectl binary. If specified, this URL will be used instead of the url
+ # computed from the configured helm:client:flavor and
+ # helm:client:kubectl:version keys.
+ #
+ # download_url: https://dl.k8s.io/v1.6.7/kubernetes-client-linux-amd64.tar.gz
+
+ #
+ # The path to which the kubectl binary should be installed. Defaults to
+ # /usr/bin/kubectl
+ #
+ # bin: /usr/bin/kubectl
+
+ #
+ # Configuration parameters that should be applied to the kubectl
+ # installation's kubeconfig. Not that this will only be applied to the
+ # kubectl installation managed by this formula.
+ #
+ # While the kubectl tool can be configured to connect to multiple
+ # clusters and allow switching between cluster contexts, this kubectl
+ # configuration managed by this formula will only be configured with
+ # the cluster context details used by this formula.
+ #
config:
- cluster: {}
+ cluster:
+ cluster_name: kube-cluster
+ user_name: kube-user
user: {}
gce_service_token:
+
+ #
+ # The mapping of repository names to urls that should be registered and
+ # kept up-to-date with the helm client
+ #
repos: {}
+ # mirantisworkloads: https://mirantisworkloads.storage.googleapis.com/
+ # incubator: https://kubernetes-charts-incubator.storage.googleapis.com/
+
+ #
+ # The listing of releases that should be managed by the formula. Note that
+ # if configured, the releases listed under this `helm:client:releases` key
+ # will be used as an authoritative, exclusive listing of the releases that
+ # should be configured and deployed to the Tiller installation; any
+ # release existing in the tiller cluster that is not configured here
+ # **will be deleted**
+ #
releases: {}
+ # zoo1:
+
+ #
+ # The name of the release
+ #
+ # name: my-zookeeper
+
+ #
+ # The repository name and chart name combination for the chart to
+ # release
+ #
+ # chart: mirantisworkloads/zookeeper
+
+ #
+ # The version of the helm chart to install
+ #
+ # version: 1.2.0
+
+ #
+ # The namespace to which the release should be deployed
+ #
+ # namespace: helm-example-namespace
+
+ #
+ # Configuration values that should be supplied to the chart.
+ #
+ # values:
+ # logLevel: INFO
\ No newline at end of file