Commit graph

146 commits

Author SHA1 Message Date
Jason O'Donnell
117fff79bc
Add vault-k8s metrics configurable (#372) 2020-08-20 19:03:12 -04:00
Yong Wen Chua
5dc29f6c84
Add configuration options for Vault UI service (#285)
* Add configuration options for Vault UI service

- Configure to select active Vault pod only
- Configure to not publish unready address

* Create active label only on HA
2020-08-20 14:39:46 -04:00
Scott Hawkins
622690e68b
Add volume claim annotations (#364)
* Add templates for annotations to apply to PV.

* Fix spacing for template injection.

* Fix template logic, add unit tests.
2020-08-20 14:02:27 -04:00
Dawson Mortenson
f40cc89467
allow server annotations with dev mode (#371) 2020-08-20 13:45:36 -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
Lukas Grossar
ec69e1cccb
Remove tolerate-unready-endpoints annotation (#363)
This annotation has been deprecated since Kuberneets 1.8 and the
publishNotReadyAddresses parameter replacing it has been correctly
implemented in Kubernetes 1.11 (see https://github.com/kubernetes/kubernetes/pull/63742)
2020-07-30 10:23:02 -04:00
Erik DeLamarter
f965826a66
missing enabled checks for injector-network-policy (#358) 2020-07-30 10:05:01 -04:00
georgekaz
8c741f6276
add support for more flexible volume mounts. Include example values for init container (#314)
add unit tests

add missing braces
2020-07-14 10:23:08 -04:00
Yong Wen Chua
85b52694f7
Allow overriding VAULT_API_ADDR (#290) 2020-07-14 10:09:43 -04:00
Steven Merrill
70cfec3fc8
Force caBundle to always be quoted (#352)
This fixes issues when you do not provide a value for caBundle that
causes validation issues.
2020-07-14 09:53:33 -04:00
Yong Wen Chua
adf5bf65a9
Support PodSecurityPolicy (#177)
* Add PSP for server

* Add PSP for Injector

* Allow annotations to be templated

Co-authored-by: Theron Voran <tvoran@users.noreply.github.com>
2020-06-25 23:42:52 -07:00
Omer Levi Hevroni
5a7e10cf08
allow to set extra volume mode (#321) 2020-06-11 10:50:16 -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
ttinkr
4f81ac070b
imagePullSecrets in injector-deployment (#298)
Co-authored-by: ttinkr <thomas.fellinger@nts.eu>
2020-06-02 10:09:48 -04:00
Theron Voran
8e982a6c9d
Allow setting HA services type (#317)
Making the types for active and standby services configurable (just
like the main vault service).
2020-06-02 10:06:50 -04:00
lukemassa
78ca71d2eb
Removing namespace from yaml of non-namespaced objects (#300) 2020-05-28 22:47: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
georgekaz
d755ad1ba0
Use active service on ingress when ha (#270)
Added some logic that points the ingress at the active server
when in ha mode. There are times that pointing at the standby
pods causes problems.
2020-05-28 11:51:25 -07:00
Gorka Maiztegi
6b77840e22
Update ingress apiVersion (#310)
The apiVersion `extensions/v1beta1` for ingresses has been removed in Kubernetes 1.16 and the new `networking.k8s.io/v1beta1` has to be used now. This conditional keeps compatibility with older Kubernetes versions while using the new apiVersion when available.
2020-05-26 19:28:15 -07:00
Josh Keife
9a835c40f1
Update comment in standby service (#299) 2020-05-21 11:58:53 -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
Theron Voran
e09de0dc63
Allow both yaml and multi-line string annotations (#272)
Changed/added helper functions to detect if the annotations value
is a string or yaml, and apply `tpl` or `toYaml`
accordingly. Defaults are left as `{}` since yaml is more likely
to be used with helm on the command line. This means a warning
will be shown when setting an annotation to a multi-line
string (which has been the existing behavior).
2020-04-27 08:28:50 -07:00
David Moreno García
0f36ee3a5b
Change config specification (#213)
* Change config specification

As it is right now, the specification of the config is done through an
string. When using storage backends like PostgreSQL, the password for the
database has to be included in the config variable of the values file.

This change allows to specify the configuration through a map, making
the chart GitOps friendly. Now, sensitive values can be stored in a
different values file or passed on deployment time with --set.

To have a very generic specification:
- I've assumed that the combination stanza (eg. storage) name (eg. file)
is unique.
- Quoted values for all stanza parameters. I tested a generated
configuration in a vault docker image and it seems to work just fine.

* Change config format to json

* Add conditional formatting

* Add config for raft mode
2020-04-27 10:45:56 -04:00
Theron Voran
2072bf2dcd
Fix ha standby and active service annotations (#268)
* service: fix annotations for HA standby/active services

* added unit tests

Co-authored-by: yotsub <63680950+yotsub@users.noreply.github.com>
2020-04-21 08:19:17 -07: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
Jared Allard
27a3a76513
fix(templates/server): ingress has default paths of / (#224)
* fix(templates/server): ingress has default paths of /

* fix: array -> list

It's been awhile since I wrote Helm templates :/
2020-04-09 12:48:42 -04: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
e97f4a579f
Fix hardcoded service name in raft enfv (#240) 2020-03-26 17:19:26 -04:00
Jason O'Donnell
d57bd7cb6e
Fix bug with api server env (#237) 2020-03-23 12:10:47 -04:00
Theron Voran
0550623c21
Fix server-headless-service annotations (#236)
`Values.server.service.annotations` are now being treated as multi-line
strings, to match the other annotations in the chart, and to support
templating within the annotations.
2020-03-20 10:54:32 -07:00
Theron Voran
2a37c571d7
Making all annotations multi-line strings (#227)
Annotations for various objects were either multi-line strings or yaml
maps strings, so this is making them all multi-line strings for
consistency. Also updated the doc comment for namespaceSelector, since
it's being read as a yaml map (toYaml).
2020-03-20 08:37:40 -07:00
Theron Voran
1a8d9de511
Injector scheduler options (#234)
Adds affinity, tolerations, and nodeSelector options for the
injector deployment that are separate from those options on the vault
server statefulset.

Co-authored-by: Sergei Shishov <sergei.shishov@dubizzle.com>
2020-03-19 22:43:52 -07:00
Theron Voran
fa13c47858
Add injector.extraEnvironmentVars (#232)
Allows user-specified environment variables to be set in the injector
deployment.
2020-03-18 21:30:22 -07: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
Jason O'Donnell
d0f89fced8
Change revoke from bool to string (#221) 2020-03-06 16:59:59 -05:00
Jason O'Donnell
9d1693ad13
Add new vault-k8s environment variables (#219)
* Add new vault-k8s envs

* update vault image

* Add default tests for envs

* Add note about supported log parameters

* Fix typo in test name
2020-03-06 15:03:58 -05:00
Bruno FERNANDO
1ccc64788a
feat: add AGENT_INJECT_VAULT_AUTH_PATH option to the injector (#185)
* Add related unit tests
2020-03-03 10:32:50 -08: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
Jason O'Donnell
ac2925d250
Add extraArgs configurable (#176) 2020-01-14 10:09:20 -05:00