Commit graph

81 commits

Author SHA1 Message Date
Bhargav Akhani
9f189801a6
Add portnumber (#831)
* Add configurable Port Number in readinessProbe and livenessProbe for the server-statefulset. 
Co-authored-by: Kyle Schochenmaier <kyle.schochenmaier@hashicorp.com>
2023-04-04 09:17:24 -05:00
Dimitar Zafirov
e31e70ea0b
Add extraPorts property (#841) 2023-02-16 10:49:07 -08:00
Theron Voran
742ddb1c52
adding SPDX copyright headers (#844) 2023-02-13 08:48:20 -08:00
Tom Proctor
21ce5245a3
Support selectively disabling active/standby services and service discovery role (#811) 2022-11-14 14:10:21 +00:00
Steven Kriegler
0110f977b2
Quote .server.ha.clusterAddr value (#810) 2022-11-09 14:19:38 -08:00
Tom Proctor
7e21a09ebd
Add server.hostNetwork option (#775) 2022-09-12 15:17:24 +01:00
Christopher Swenson
9efd98a30f
csi/server.statefulset: custom security context (#767)
csi/server.statefulset: custom security context

This adds flexibility to have custom pod template and container
`securityContext` and preserves current default values and behavior.

Fixes https://github.com/hashicorp/vault-helm/issues/663.

This also is a way to address https://github.com/hashicorp/vault-helm/pull/599
so that people can specify, for example, the CSI to run in a privileged
container for OpenShift.

This is a follow-up to https://github.com/hashicorp/vault-helm/pull/750
and builds on the same principles.

Side note: I am not able to run `helm schema-gen` since it is
unmaintained and does not work with M1 Macs.
2022-08-08 12:48:28 -07:00
Eric Miller
4005767e87
Implement support for Topology Spread Constraints (#652)
* Implemented support for topology spread constraints

* Update values.yaml

Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>

* Update values.yaml

Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>

* Add topologySpreadConstraints to values schema

* Implement injector deployment topology spread UTs

* also remove string from the relevant schema types

* Implement injector statefulset topology spread UTs

* Implement injector HA statefulset topology UTs

* Allow topologySpreadConstraints to be a string

Co-authored-by: Ellis Tarn <ellistarn@gmail.com>
Co-authored-by: Ben Ash <32777270+benashz@users.noreply.github.com>
Co-authored-by: Christopher Swenson <swenson@swenson.io>
2022-04-28 10:47:40 -07:00
Stephen Herd
87e456754b
Issue 629: updated to allow customization of the CLUSTER_ADDR the same… (#709)
* Issue #629 Updates to allow customization of the CLUSTER_ADDR and unit tests to go with it

* Issue-#629 removing extra whitespace I added accidently.

* Issue-#629 fixing extra whitespace added.

* Update values.yaml

Co-authored-by: Joaco Muleiro Beltran <joaquinmuleirobeltran@gmail.com>

* Issue #629 adding changelog

Co-authored-by: Joaco Muleiro Beltran <joaquinmuleirobeltran@gmail.com>
2022-04-14 15:16:39 -07:00
Ethan J. Brown
4ae52c8bd3
Remove unncessary template calls (#712)
- As part of VAULT-571 / #703 in 7109159, a new vault.serverEnabled
   template was added (and included in vault.mode)

   Various templates were updated accordingly, but those that were
   already calling vault.mode had an additonal call to
   vault.serverEnabled made which was unnecessary

   Remove those
2022-04-12 22:54:54 -07:00
Christopher Swenson
710915952e
VAULT-571 Matching documented behavior and consul (#703)
VAULT-571 Matching documented behavior and consul

Consul's helm template defaults most of the enabled to the special value
`"-"`, which means to inherit from global. This is what is implied
should happen in Vault as well according to the documentation for the
helm chart:

> [global.enabled] The master enabled/disabled configuration. If this is
> true, most components will be installed by default. If this is false,
> no components will be installed by default and manually opting-in is
> required, such as by setting server.enabled to true.

(https://www.vaultproject.io/docs/platform/k8s/helm/configuration#enabled)

We also simplified the chart logic using a few template helpers.

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2022-03-21 09:50:23 -07:00
Takumi Sue
248397f663
Make terminationGracePeriodSeconds configurable (#659)
Make terminationGracePeriodSeconds configurable for server pod
2021-12-14 18:15:11 -08:00
Ben Ash
64b4d88c72
feature: imagePullSecrets from string array. (#576)
* allow configuring imagePullSecrets from an array of strings in
  addition to the already supported array of maps
2021-07-23 12:05:24 -04:00
Theron Voran
4d23074cd3
Adding server.enterpriseLicense (#547)
Sets up a vault-enterprise license for autoloading on vault
startup. Mounts an existing secret to /vault/license and sets
VAULT_LICENSE_PATH appropriately.
2021-06-11 13:29:30 -07:00
Jason O'Donnell
ec67b5dd45
Add logLevel and logFormat values for Vault (#488)
* Add logLevel and logFormat values for Vault

* Add configurable tests

* Update order of log levels

* Update values.yaml

* Update per review

* Update test/unit/server-statefulset.bats

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

* Update test/unit/server-statefulset.bats

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
2021-04-08 11:18:16 -04:00
Jason O'Donnell
cc20c0b3c1
Add allowPrivilegeEscalation=false to pods (#429)
* Add allowPrivilegeEscalation=false to pods

* Add openshift check

* Add injector openshift check
2020-12-14 14:14:29 -05:00
Jason O'Donnell
a8c42428b0
Add extraArgs support to dev mode (#421) 2020-11-30 16:31:02 -05:00
Jason O'Donnell
fc8ebfdd4e
Add configurable probe values (#387)
* Add configurable probe values

* Remove template defaults

* Update values.yaml

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

* Update values.yaml

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

* Update values.yaml

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>

* Switch timeout and period defaults

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-09-15 16:24:38 -04:00
Sergei Zyubin
9fbe720f6b
Make serviceAccount name a configuration option (#367)
* Make serviceAccount name a configuration option

Follow Helm Best Practices when defining serviceAccount names
https://helm.sh/docs/chart_best_practices/#using-rbac-resources

* Use enabled instead of create for consistency

* Add unit tests for user-defined service account name

* ServiceAccount under server

Co-authored-by: David Holsgrove <david@apnic.net>

* Update ServiceAccount in RoleBindings

to address https://github.com/hashicorp/vault-helm/pull/56#pullrequestreview-297856433

Co-authored-by: David Holsgrove <david@apnic.net>

* Update tests for helm template arg --show-only

Co-authored-by: David Holsgrove <david@apnic.net>

* Fix server-serviceaccount tests

* serviceAccount: rename enabled to create

* statefulSet: add tests for serviceAccount

Co-authored-by: Nick Satterly <nick@diabol.se>
Co-authored-by: David Holsgrove <david@apnic.net>
2020-08-18 19:13:02 -07:00
Sam Weston
ed0b918bf6
Add an option to set annotations on the StatefulSet (#199)
* Add tests for adding StatefulSet annotations

Signed-off-by: Sam Weston <weston.sam@gmail.com>
Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-08-14 15:04:52 -07:00
Yong Wen Chua
85b52694f7
Allow overriding VAULT_API_ADDR (#290) 2020-07-14 10:09:43 -04:00
Jason O'Donnell
853cb06842
Add OpenShift beta support (#319)
* Initial commit

* Added openshift flag

* added self signed certificate for service annotation

* added OpenShift flag

* Added OpenShift flag

* cleanup

* Cleanup

* Further cleanup

* Further cleanup

* reverted security context on injector

* Extra corrections

* cleanup

* Removed Raft config for OpenShift, removed generated certs for ha and standby services

* Add openshift flag to global block, route disabled by default, condition for injector in network policy

* Added Unit tests for OpenShift

* Fixed unit test for HA statefulset for OpenShift

* Removed debug log level from stateful set

* Added port 8201 to networkpolicy

* Updated injector image

* Add openshift beta support

* Add openshift beta support

* Remove comments from configs

* Remove vault-k8s note from values

* Change route to use active service when HA

Co-authored-by: Radu Domnu <radu.domnu@sixdx.com>
Co-authored-by: Radu Domnu <radu.domnu@gmail.com>
2020-06-02 22:10:41 -04:00
Jason O'Donnell
4215316818
Add postStart lifecycle hook (#315)
* Add postStart lifecycle hook

* Update values.yaml

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-05-28 14:53:46 -04:00
Adrienne Cohea
0cc1af1876
Add init containers to support TLS certificate introduction and other dynamic configuration use cases. (#258) 2020-05-08 14:35:39 -04:00
Jason O'Donnell
08a6f929b8
Revert "Add support for priorityClassName (#165)" (#287)
This reverts commit 2af6f9b44f.
2020-05-05 11:29:09 -04:00
Brian Choy
2af6f9b44f
Add support for priorityClassName (#165)
* Add support for priorityClassName

* Add unit tests

* Remove comment

* Update comment, accidentally deleted comment

* Remove whitespace
2020-05-05 11:10:17 -04:00
Yong Wen Chua
c8b18d1876
Support setting priorityClassName on pods (#282) 2020-04-30 18:37:27 -07:00
Yong Wen Chua
8cc3fdb167
Add support for setting VAULT_RAFT_NODE_ID environment variable (#269)
* Add support for setting VAULT_RAFT_NODE_ID environment variable

* Update server-statefulset.yaml

* Update server-ha-statefulset.bats
2020-04-27 11:38:26 -04:00
Javad Karabi
374ea22c02
use port names that map to vault.scheme (#223)
* use port names that map to vault.scheme

* prefix internal/replication port names with vault.scheme

* port names must be 'no more than 15 characters'

* test vault server service port names are prefixed with vault scheme

* test vault server statefulset port names are prefixed with vault scheme

* test vault ui service port names are prefixed with vault scheme

* formatting: replace double quote with single quote

* uncomment accidentally-commented lines

* always set internal port name to https-internal, since it is always https

* prefix headless service internal port name with https
2020-04-13 08:48:23 -07:00
Petter Abrahamsson
497daa5f60
Remove IPC_LOCK capability (#198)
* Remove IPC_LOCK capability

* Remove tests for IPC_LOCK
2020-04-09 12:47:17 -04:00
Jason O'Donnell
6d5a2174d8
Add Vault Helm ent support, service discovery (#250)
* Add Vault Helm ent support, service discovery

* Fix unit test

* Update test/acceptance/server-ha-enterprise-dr.bats

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

* Update test/acceptance/server-ha-enterprise-dr.bats

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

* Update test/acceptance/server-ha-enterprise-perf.bats

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

* Update test/acceptance/server-ha-enterprise-perf.bats

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

* Update values.yaml

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-04-09 09:26:58 -04:00
Jason O'Donnell
d57bd7cb6e
Fix bug with api server env (#237) 2020-03-23 12:10:47 -04:00
Jason O'Donnell
58b96dbc10
Add Raft HA support (#229)
* Add raft support

* Add acceptance test

* Update templates/server-headless-service.yaml

Co-Authored-By: Theron Voran <tvoran@users.noreply.github.com>

* Add notes to raft configurables

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-03-18 15:49:14 -04:00
Theron Voran
2b2b0dd2fa
Added support for external vault (#207)
Uses Values.injector.externalVaultAddr to control the vault address
env variable and server yaml rendering.

If injector.externalVaultAddr is empty, both the injector and vault
are deployed, with the injector using the local vault. If
injector.externalVaultAddr is not empty, only the injector is
deployed, and it uses the vault at the address specified in
injector.externalVaultAddr.
2020-02-21 08:16:33 -08:00
Theron Voran
77b973c17f
Helm 3 support (#195)
Update chart and tests to Helm 3

Co-authored-by: Matt Piekunka <mpiekunk@users.noreply.github.com>
Co-authored-by: Mike Brancato <mbrancato@users.noreply.github.com>
2020-02-06 08:44:38 -08:00
Theron Voran
45c9118782
Adding sleep in the preStop lifecycle step (#188)
Aims to make vault pod termination more graceful with respect to user
requests.
2020-01-30 09:39:08 -08:00
Yong Wen Chua
eccd71bfe2 Allow configure StatefulSet updateStrategy (#172) 2020-01-18 07:36:45 -05:00
fischerman
4209cbcc2d make shareProcessNamespace configurable (#174)
* make shareProcessNamespace configurable

* add unit tests
2020-01-15 05:06:54 -05:00
fischerman
1f68852dc2 add lifecycle to vault instead of extra container (#179) 2020-01-15 05:03:20 -05:00
Darren Clark
ba6cfe675e Statefulset Liveness Probe failing on standby nodes due to SSL, initial delay and 429 response #137 (#138)
livenessProbe

 * Set the scheme for vault.scheme to ensure that the check works if tls enabled or not

 * Allow a configurable value initialDelaySeconds rather than the set 5 seconds

 * Set the default initialDelaySeconds to 60 seconds before the probe starts to allow for vault unsealing

 * Set the path to /v1/sys/health?standbyok=true to ensure a 200 response on standbys

readinessProbe

 * Set the path comment to /v1/sys/health?standbyok=true to ensure a 200 response on standbys

 * Set the scheme for vault.scheme to ensure that the check works if tls enabled or not

 * Statefulset liveness probe path check set to /v1/sys/health?standbyok=true

 * Server Statefulset test added for livenessProbe.initialDelaySeconds
2019-12-16 18:07:23 -05:00
Jason O'Donnell
1c9c64c8f8
Remove chart from labels (#128) 2019-12-02 17:14:59 -05:00
Holden Omans
a0325cfd14 Configure pod probes (#104)
* Added option for enabling a livenessprobe

* added option for using http for readinessProbe

* added tests
2019-11-28 18:24:41 -05:00
Janusz Bialy
2ff7d47c07 Use a standard way to define the container image (#103)
* use a standard way to define image repo and tag

Signed-off-by: Janusz Bialy <jbialy@gmail.com>

* add tests

Signed-off-by: Janusz Bialy <jbialy@gmail.com>

* bump chart version

Signed-off-by: Janusz Bialy <jbialy@gmail.com>

* Revert "bump chart version"

This reverts commit 74cbc984a7d4cf9098acf78977cdc8598c557550.

Signed-off-by: Janusz Bialy <jbialy@gmail.com>

* nest image block inside server

Signed-off-by: Janusz Bialy <jbialy@gmail.com>
2019-11-28 17:39:28 -05:00
Shahbaz Nazir
faf5a84c5e Add possibility to run sidecars with vault (#87)
* Add extra containers

* fix template

* add unit tests

* resolve conflicts

* remove duplicate docs

* fix unit tests
2019-11-21 14:07:41 -05:00
Jason O'Donnell
3fbbf7b8df
Remove readOnlyRootFilesystem configurable (#110) 2019-11-12 19:55:31 -05:00
Jason O'Donnell
a9e6a0a938
Add preStop lifecycle hook (#105)
* Add preStop lifecycle hook

* Fix typo in comment
2019-11-06 11:06:57 -05:00
Janusz Bialy
a2b2d32e92 Add support for image pull policy and secrets (#92)
* add image pull policy and pull secrets

Signed-off-by: Janusz Bialy <jbialy@gmail.com>

* add unit tests

Signed-off-by: Janusz Bialy <jbialy@gmail.com>
2019-10-24 12:58:32 -04:00
Jason O'Donnell
e1b89d6396
Make readOnlyRootFilesystem configurable (#93) 2019-10-24 12:40:19 -04:00
Jason O'Donnell
b41d36c621
Require vault to run as non root (#80)
* Require vault to run as non root

* Fix unit tests

* Make uid/gid configurable, remove home emptydir
2019-10-18 12:42:25 -04:00
Jason O'Donnell
9fd0ad6e20
Fix audit storage mount in HA mode (#79)
* Fix audit storage mount in HA mode

* Add explicit fsgroup
2019-10-10 10:03:44 -04:00