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 push
If 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: c2VudHJ5
To 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 -nsentry
You 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
.