Move chart to top-level
This commit is contained in:
parent
8d04c2f684
commit
323feba49c
18 changed files with 117 additions and 6 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,4 +2,3 @@
|
|||
.terraform/
|
||||
terraform.tfstate*
|
||||
terraform.tfvars
|
||||
values.yaml
|
||||
|
|
11
README.md
11
README.md
|
@ -17,12 +17,13 @@ of this README. Please refer to the Kubernetes and Helm documentation.
|
|||
## Usage
|
||||
|
||||
For now, we do not host a Chart repository. To use the charts, you must
|
||||
download this repository and unpack it into a directory. Then, the chart can
|
||||
be installed directly:
|
||||
download this repository and unpack it into a directory. Assuming this
|
||||
repository was unpacked into the directory `consul-helm`, the chart can
|
||||
then be installed directly:
|
||||
|
||||
helm install ./charts/consul
|
||||
helm install ./consul-helm
|
||||
|
||||
Please see the many options supported in the `./charts/consul/values.yaml`
|
||||
Please see the many options supported in the `values.yaml`
|
||||
file. These are also fully documented directly on the
|
||||
[Consul website](https://www.consul.io/docs/).
|
||||
|
||||
|
@ -37,7 +38,7 @@ To run the Bats test: `kubectl` must be configured locally to be authenticated
|
|||
to a running Kubernetes cluster with Helm installed. With that in place,
|
||||
just run bats:
|
||||
|
||||
bats ./charts/consul/test
|
||||
bats ./test
|
||||
|
||||
If the tests fail, deployed resources in the Kubernetes cluster may not
|
||||
be properly cleaned up. We recommend recycling the Kubernetes cluster to
|
||||
|
|
111
values.yaml
Normal file
111
values.yaml
Normal file
|
@ -0,0 +1,111 @@
|
|||
# Available parameters and their default values for the Consul chart.
|
||||
|
||||
# Server, when enabled, configures a server cluster to run. This should
|
||||
# be disabled if you plan on connecting to a Consul cluster external to
|
||||
# the Kube cluster.
|
||||
|
||||
common:
|
||||
# Domain to register the Consul DNS server to listen for.
|
||||
domain: consul
|
||||
|
||||
server:
|
||||
enabled: true
|
||||
image: "consul:1.2.2"
|
||||
replicas: 3
|
||||
bootstrapExpect: 3 # Should <= replicas count
|
||||
storage: 10Gi
|
||||
|
||||
# connect will enable Connect on all the servers, initializing a CA
|
||||
# for Connect-related connections. Other customizations can be done
|
||||
# via the extraConfig setting.
|
||||
connect: true
|
||||
|
||||
# Datacenter is the name of the datacenter that the server should register
|
||||
# as. This shouldn't be changed once the Consul cluster is up and running
|
||||
# since Consul doesn't support an automatic way to change this value
|
||||
# currently: https://github.com/hashicorp/consul/issues/1858
|
||||
datacenter: dc1
|
||||
|
||||
# Resource requests, limits, etc. for the server cluster placement. This
|
||||
# should map directly to the value of the resources field for a PodSpec.
|
||||
# By default no direct resource request is made.
|
||||
resources: {}
|
||||
|
||||
# updatePartition is used to control a careful rolling update of Consul
|
||||
# servers. This should be done particularly when changing the version
|
||||
# of Consul. Please refer to the documentation for more information.
|
||||
updatePartition: 0
|
||||
|
||||
# disruptionBudget enables the creation of a PodDisruptionBudget to
|
||||
# prevent voluntary degrading of the Consul server cluster.
|
||||
disruptionBudget:
|
||||
enabled: true
|
||||
|
||||
# maxUnavailable will default to (n/2)-1 where n is the number of
|
||||
# replicas. If you'd like a custom value, you can specify an override here.
|
||||
maxUnavailable: null
|
||||
|
||||
# extraConfig is a raw string of extra configuration to set with the
|
||||
# server. This should be JSON or HCL.
|
||||
extraConfig: |
|
||||
{}
|
||||
|
||||
# Client, when enabled, configures Consul clients to run on every node
|
||||
# within the Kube cluster. The current deployment model follows a traditional
|
||||
# DC where a single agent is deployed per node.
|
||||
client:
|
||||
enabled: true
|
||||
image: "consul:1.2.2"
|
||||
join: null
|
||||
|
||||
# ConnectInject will enable the automatic Connect sidecar injector.
|
||||
connectInject:
|
||||
enabled: true
|
||||
default: false # true will inject by default, otherwise requires annotation
|
||||
caBundle: "" # empty will auto generate the bundle
|
||||
|
||||
# namespaceSelector is the selector for restricting the webhook to only
|
||||
# specific namespaces. This should be set to a multiline string.
|
||||
namespaceSelector: null
|
||||
|
||||
# The certs section configures how the webhook TLS certs are configured.
|
||||
# These are the TLS certs for the Kube apiserver communicating to the
|
||||
# webhook. By default, the injector will generate and manage its own certs,
|
||||
# but this requires the ability for the injector to update its own
|
||||
# MutatingWebhookConfiguration. In a production environment, custom certs
|
||||
# should probaly be used. Configure the values below to enable this.
|
||||
certs:
|
||||
# secretName is the name of the secret that has the TLS certificate and
|
||||
# private key to serve the injector webhook. If this is null, then the
|
||||
# injector will default to its automatic management mode.
|
||||
secretName: null
|
||||
|
||||
# caBundle is a base64-encoded PEM-encoded certificate bundle for the
|
||||
# CA that signed the TLS certificate that the webhook serves. This must
|
||||
# be set if secretName is non-null.
|
||||
caBundle: ""
|
||||
|
||||
# certName and keyName are the names of the files within the secret for
|
||||
# the TLS cert and private key, respectively. These have reasonable
|
||||
# defaults but can be customized if necessary.
|
||||
certName: tls.crt
|
||||
keyName: tls.key
|
||||
|
||||
ui:
|
||||
# True if you want to enable the Consul UI. The UI will run only
|
||||
# on the server nodes. This makes UI access via the service below (if
|
||||
# enabled) predictable rather than "any node" if you're running Consul
|
||||
# clients as well.
|
||||
enabled: true
|
||||
|
||||
# True if you want to create a Service entry for the Consul UI.
|
||||
#
|
||||
# serviceType can be used to control the type of service created. For
|
||||
# example, setting this to "LoadBalancer" will create an external load
|
||||
# balancer (for supported K8S installations) to access the UI.
|
||||
service: true
|
||||
serviceType: null
|
||||
|
||||
test:
|
||||
image: lachlanevenson/k8s-kubectl
|
||||
imageTag: v1.4.8-bash
|
Loading…
Reference in a new issue