First and foremost, shout out to the people at sentry.io for their project. I recommend forking and helping the community.
If you want to customize specific settings for your installation, build a custom sentry image by modifying the files config.yml, Dockerfile and sentry.conf.py in the build directory.
Then, proceed to upload the custom image to your repository of choice, as following:
REPOSITORY=some-repo/your-sentry make build pushIf you don't want to build a custom image, you may use script3r/sentry-k8s.
You'll need to setup a PostgreSQL database with a user and database designated for sentry.
You will also want to run the sentry migrations on it. For more details see https://docs.sentry.io/server/installation/docker/.
Modify the secrets file to contain the actual secrets used in the project. Make sure they're base64 encoded. For example, if your database name and database user are sentry, then your secrets file should contain:
dbName: c2VudHJ5
dbUser: c2VudHJ5To deploy to Kubernetes, simply type:
kubectl apply -f deploy/k8s/Notice that this will create a namespace named sentry. Confirm the machines are up by typing:
kubectl get pods -nsentryYou should see images for web, worker and cron.
Enjoy! Your sentry is now exposed as a service sentry-web-service listening on port 80. It is recommended to front this with a TLS/SSL enabled proxy.
Notice that by default, this setup script enables TLS/SSL by setting the environment variable SENTRY_USE_SSL to 1 in 20web.yml.
If you want to disable TLS (don't do it!), you may set this environment variable to 0.