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 https://sudo.pagerduty.com.
We use MkDocs to create a static site from this repository.
For local development on your native device,
- Install MkDocs.
pip install mkdocs
- Install MkDocs PyMdown Extensions.
pip install pymdown-extensions
- Install Pygments if you want syntax highlighting for any code examples.
pip install pygments
- Install the PagerDuty MkDocs Theme.
git clone https://github.com/pagerduty/mkdocs-theme-pagerduty
cd mkdocs-theme-pagerduty & python3 setup.py install
- To test locally, run
mkdocs serve
from the project directory. - You can now view the website in your browser at
http://127.0.0.1:8000
. The site will automatically update as you edit the code.
For local development using Docker,
- Build the docker image and load it for immediate use.
docker build --load -t mkdocs .
- Run the container and pass through your current working directory.
docker run -v $(pwd):/docs -p 127.0.0.1:8000:8000 mkdocs
- You can now view the website in your browser at
http://127.0.0.1:8000
. 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.
-
Run
mkdocs build --clean
to produce the static site for upload. -
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*" \ --delete
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,
- Fork it ( https://github.com/PagerDuty/security-training/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request.