{{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} {{ template "chart.badgesSection" . }} [![Development Phase](https://github.com/spiffe/spiffe/blob/main/.img/maturity/dev.svg)](https://github.com/spiffe/spiffe/blob/main/MATURITY.md#development) {{ template "chart.description" . }} {{ template "chart.homepageLine" . }} ## Version support > **Note**: This Chart is still in development and still subject to change the API (`values.yaml`). > Until we reach a `1.0.0` version 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.3+` | | Helm | `3.x` | | Kubernetes | `1.22+` | > **Note**: For Kubernetes, we will officially support the last 3 versions as described in [k8s versioning](https://kubernetes.io/releases/version-skew-policy/#supported-versions). Any version before the last 3 we will try to support as long it doesn't bring security issues or any big maintenance burden. ## 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. ```bash 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` ```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: ```diff 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`. {{ template "chart.maintainersSection" . }} {{ template "chart.sourcesSection" . }} {{ template "chart.requirementsHeader" . }} {{ template "chart.requirementsTable" . }} {{ template "chart.valuesSection" . }} ----------------------------------------------