*563e1f7Add podmonitors (#165) *456075fAdd hooks to set failurepolicy to ignore on webhook (#128) *d5dc706Add Kubernetes 1.21 back (#188) *daa620bFix production example test (#183) *c661d0bMake service dns domain configurable (#164) *ec236e9Test for configurable images (#182) *280315cFix namespace-override github test summary (#154) *072d952Switch tests to curl (#178) *1b4bfb7Cleanup old leftover to k8s-workload-registrar *a770928Switch busybox image to cgr.dev/chainguard/busybox:latest-glibc (#175) *8790416Enable global config for clusterName, trustDomain, and bundleConfigMap (#156) *b54c41aEnhance the production example *dfb32dcRevert adding tornjak to be releasable (#180) *059d5fbBump spire Helm Chart version from 0.5.0 to 0.5.1 *e2ec6acAdd a test to ensure the chart versions match (#163) *64585baFix formatting issues introduced with #152 *0dac0dbImprove Spire Chart documentation *f709ed9Bump actions/checkout from 3.4.0 to 3.5.0 *faef439Bump helm/chart-testing-action from 2.3.1 to 2.4.0 *ae62dd1Bump spire version to 1.6.1 *02fda80Add Artifact Hub badge to README.md *901e670Disable default Tornjak deployment (#153) *05d0f47Introduction of Tornjak to SPIRE Server helm charts (#144) *b25dc77Test fixing the tests (#148) *b4be9edAdd maturity tag (#138) *d4fd2ceExtract the namespace override test out of the old lockdown test. (#145) *4f85802Update lockdown test to test the production example *04a1305Fork the lockdown test to two tests as it is doing the work of 2 (#134) *64d0107Resolve issue in prod example on volume mount (#143) *5b6708bRemove @dennisgove from CODEOWNERS (#140) *a516caaRemove k8s 1.21 from test matrix + small syntax error fix (#133) *811a2f6Add option to enable federation on spire-server (#97) Signed-off-by: Marco Franssen <[email protected]>
4.6 KiB
spire
A Helm chart for deploying the complete Spire stack including: spire-server, spire-agent, spiffe-csi-driver, spiffe-oidc-discovery-provider and spire-controller-manager.
Homepage: https://github.com/spiffe/helm-charts/tree/main/charts/spire
Version support
Note
: This Chart is still in development and still subject to change the API (
values.yaml). Until we reach a1.0.0version of the chart we can't guarantee backwards compatibility although we do aim for as much stability as possible.
| Dependency | Supported Versions |
|---|---|
| SPIRE | 1.5.3+, 1.6.x |
| Helm | 3.x |
| Kubernetes | 1.21+ |
Note
: For Kubernetes, we will officially support the last 3 versions as described in k8s versioning. Any version before the last 3 we will try to support as long it doesn't bring security issues or any big maintenance burden. The first version we tested this chart with is
1.21.
Prerequisites
Please note this chart requires Projected Service Account Tokens which has to be enabled on your k8s api server.
To enable Projected Service Account Tokens on Docker for Mac/Windows run the following command to SSH into the Docker Desktop K8s VM.
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
Then add the following to /etc/kubernetes/manifests/kube-apiserver.yaml
spec:
containers:
- command:
- kube-apiserver
- --api-audiences=api,spire-server
- --service-account-issuer=api,spire-agent
- --service-account-key-file=/run/config/pki/sa.pub
- --service-account-signing-key-file=/run/config/pki/sa.key
Usage
To utilize Spire in your own workloads you should add the following to your workload:
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: my-app
image: "my-app:latest"
imagePullPolicy: Always
+ volumeMounts:
+ - name: spiffe-workload-api
+ mountPath: /spiffe-workload-api
+ readOnly: true
resources:
requests:
cpu: 200m
memory: 32Mi
limits:
cpu: 500m
memory: 64Mi
+ volumes:
+ - name: spiffe-workload-api
+ csi:
+ driver: "csi.spiffe.io"
+ readOnly: true
Now you can interact with the Spire agent socket from your own application. The socket is mounted on /spiffe-workload-api/spire-agent.sock.
Maintainers
| Name | Url | |
|---|---|---|
| marcofranssen | [email protected] | https://marcofranssen.nl |
| kfox1111 | [email protected] |
Source Code
Requirements
Kubernetes: >=1.21.0-0
| Repository | Name | Version |
|---|---|---|
| file://./charts/spiffe-csi-driver | spiffe-csi-driver | 0.1.0 |
| file://./charts/spiffe-oidc-discovery-provider | spiffe-oidc-discovery-provider | 0.1.0 |
| file://./charts/spire-agent | spire-agent | 0.1.0 |
| file://./charts/spire-server | spire-server | 0.1.0 |
Values
| Key | Type | Default | Description |
|---|---|---|---|
| fullnameOverride | string | "" |
|
| global.k8s.clusterDomain | string | "cluster.local" |
|
| global.spire.bundleConfigMap | string | "" |
Override all instances of bundleConfigMap |
| global.spire.clusterName | string | "example-cluster" |
Set the name of the Kubernetes cluster |
| global.spire.trustDomain | string | "example.org" |
Set the trust domain to use for the spiffe identifiers |
| nameOverride | string | "" |
|
| spiffe-csi-driver.enabled | bool | true |
|
| spiffe-oidc-discovery-provider.enabled | bool | false |
|
| spire-agent.enabled | bool | true |
|
| spire-agent.nameOverride | string | "agent" |
|
| spire-server.controllerManager.enabled | bool | true |
|
| spire-server.enabled | bool | true |
|
| spire-server.nameOverride | string | "server" |