demo.securedrop.org

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.