Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

PagerDuty Security Training Build Status

This is a public version of the Security Training material used internally at PagerDuty for our annual employee security training.

You can view the content directly in this repository, or rendered as a website at

PagerDuty Security Training


We use MkDocs to create a static site from this repository.


For local development on your native device,

  1. Install MkDocs. pip install mkdocs
  2. Install MkDocs PyMdown Extensions. pip install pymdown-extensions
  3. Install Pygments if you want syntax highlighting for any code examples. pip install pygments
  4. Install the PagerDuty MkDocs Theme.
    1. git clone
    2. cd mkdocs-theme-pagerduty & python3 install
  5. To test locally, run mkdocs serve from the project directory.
  6. You can now view the website in your browser at The site will automatically update as you edit the code.


For local development using Docker,

  1. Build the docker image and load it for immediate use. docker build --load -t mkdocs .
  2. Run the container and pass through your current working directory. docker run -v $(pwd):/docs -p mkdocs
  3. You can now view the website in your browser at The site will automatically update as you edit the code.

Note: If you're using an Apple Silicon device, add --platform linux/arm64/v8 to the docker build command to get a native Apple Silicon image. That will work faster than translating an arm64 image.


  1. Run mkdocs build --clean to produce the static site for upload.

  2. Upload the site directory to S3 (or wherever you would like it to be hosted).

     aws s3 sync ./site/ s3://[BUCKET_NAME] \
       --acl public-read \
       --exclude "*.py*" \


Apache 2 (See LICENSE file)


Thank you for considering contributing! If you have any questions, just ask - or submit your issue or pull request anyway. The worst that can happen is we'll politely ask you to change something. We appreciate all friendly contributions.

Here is our preferred process for submitting a pull request,

  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request.