*fae12afMerge pull request #60 from spiffe/oidc-ingress *6322a9aFix tests *a9b99feAdd some commented lines for best practice annotations on ingress *e970d52Align ingress hostname with jwtIssues in spire-server chart *cc7121eAdd ingress support for OIDC discovery provider *eaed7c9Bump actions/checkout from 3.3.0 to 3.4.0 (#129) *2e3f045Make webhook fail policy configurable (#124) *9ccbd3cMake kubelet path configurable (#123) *80e3b58Remove dead file from failed rebase. (#121) *7155d71Add documentation how to use Spire in own workloads *25c77fcFix the driver not coming up on overloaded nodes *5fdd35bImprove Chart API (#119) *03db6bbNamespace override *661000aMake the agent socket configurable (#114) *f3a81adMake csi driver configurable to be able to run multiple instances (#115) *b198bc7Fix the tests so they can run locked down. (#111) *09b21acFix the gate *b6716aeTest that it is possible to lock down security of pods (#84) *bfeb217Fix cluster role name uniqueness *490fe8fEnhance the test workflow scripts *9e22d2cMake the namespace the bundle is dropped into configurable *7d1f821Fix test. *493ad8fRemove some duplication on chart-testing CI *b6dd136Add tmp mount so that server can run locked down (#105) *aaaf2f7Remove dead role code *d2eba22Fix docs *6d43625Add kfox as a maintainer *dfa4e6cEnsure CI also runs when test scripts are changed Signed-off-by: Marco Franssen <[email protected]>
3.8 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
Warning
: Please note this chart requires Projected Service Account Tokens which has to be enabled on your k8s api server.
Note
: Minimum Spire version is
v1.5.3.
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 | "" |
|
| nameOverride | string | "" |
|
| spiffe-csi-driver.enabled | bool | true |
|
| spiffe-oidc-discovery-provider.enabled | bool | false |
|
| spiffe-oidc-discovery-provider.trustDomain | string | "example.org" |
|
| spire-agent.bundleConfigMap | string | "spire-bundle" |
|
| spire-agent.clusterName | string | "example-cluster" |
|
| spire-agent.enabled | bool | true |
|
| spire-agent.nameOverride | string | "agent" |
|
| spire-agent.trustDomain | string | "example.org" |
|
| spire-server.bundleConfigMap | string | "spire-bundle" |
|
| spire-server.clusterName | string | "example-cluster" |
|
| spire-server.controllerManager.enabled | bool | true |
|
| spire-server.enabled | bool | true |
|
| spire-server.nameOverride | string | "server" |
|
| spire-server.trustDomain | string | "example.org" |