A set of Kubernetes CustomResourceDefinition and a controller for managing Sentry teams, projects, and client keys.
To install the kube-sentry-controller
binary, run:
go get github.com/sr/kube-sentry-controller
Note that while the binary could be used as is, it is mainly provided as an example for how to use the sentrycontroller
package. For production deployments you'd typically write your own main that integrates (metrics, logging, ...) with your existing infrastructure.
Create a Sentry API Auth Token:
https://docs.sentry.io/api/auth/
Configure the CRDs on the cluster:
kubectl apply -f config/crds
Run the controller:
kube-sentry-controller -api-token "${SENTRY_API_TOKEN}"
Create an example team, project, and client key:
sed -i "" "s,SENTRY_ORGANIZATION,my-org," config/samples/sentry.yaml
kubectl -f config/samples/sentry.yaml
Check that the controller has created a secret with the SDN key:
kubectl get secrets example -o yaml
To clean-up, run:
kubectl destroy -f config/samples/sentry.yaml