demo.securedrop.org
There is a deployment of SecureDrop server running at https://demo.securedrop.org/ that is very similar
to make dev
. Changes pushed to the develop
branch automatically get deployed there.
How it works
Deployment is managed in Codefresh, which we use for other Kubernetes-related CI/CD; if you want to look at
build logs or (re)start pipelines and don’t have access, ask someone from the infra team. This is not a
requirement to be able to update and deploy the demo; you just need to be able to push to the SecureDrop
repo’s develop
branch.
Containers
There are two containers in the securedrop repo:
securedrop/dockerfiles/focal/python3/DemoDockerfile
devops/demo/landing-page/Dockerfile
If you want to try these locally, build them from the root of the SecureDrop repository, using
docker build -f FILE .
. The “landing page” container is what you see at https://demo.securedrop.org/
and the main container serves both https://demo-source.securedrop.org/ and
https://demo-journalist.securedrop.org/
Troubleshooting
The deployment is not highly available, and everything in Redis is thrown away when it restarts. When restarting, the source and journalist interfaces will both be unavailable for a few seconds and you’ll see a 503.
If you need to cause a restart without pushing a new deployment, or roll back to an earlier version, ask the infra team. These can be done quickly but require direct Kubernetes access.