Sign inSign up

puzzle/prometheus-basics-training

By puzzle

Updated over 5 years ago

Image
0

3.4K

puzzle/prometheus-basics-training repository overview

Prometheus Basics Training

Interactive Prometheus Basics Training: prometheus-training.puzzle.ch

Content Sections

The training content resides within the content directory.

The main part are the labs, which can be found at content/en/docs.

Hugo

This site is built using the static page generator Hugo.

The page uses the docsy theme which is included as a Git Submodule. Docsy is being enhanced using docsy-plus as well as docsy-puzzle and docsy-acend for brand specific settings.

After cloning the main repo, you need to initialize the submodule like this:

git submodule update --init --recursive

In order to update all submodules runs the following command:

git pull --recurse-submodules

The default configuration uses the Puzzle setup from config/_default. Alternatively you can use the acend setup from config/acend, which is enabled with --environment acend.

Docsy Theme Usage

Build using Docker

Build the image:

docker build -t acend/prometheus-basics-training:latest .

Run it locally:

docker run -i -p 8080:8080 acend/prometheus-basics-training
Using Buildah and Podman

Build the image:

buildah build-using-dockerfile -t acend/prometheus-basics-training:latest .

Run it locally with the following command. Beware that --rmi automatically removes the built image when the container stops, so you either have to rebuild it or remove the parameter from the command.

podman run --rm --rmi --interactive --publish 8080:8080 localhost/acend/prometheus-basics-training

How to develop locally

To develop locally we don't want to rebuild the entire container image every time something changed, and it is also important to use the same hugo versions like in production. We simply mount the working directory into a running container, where hugo is started in the server mode.

docker run --rm --interactive --publish 8080:8080 -v $(pwd):/opt/app/src -w /opt/app/src acend/hugo:<version-in-dockerfile> hugo server -p 8080 --bind 0.0.0.0

Using Podman

podman run --rm --interactive --publish 8080:8080 -v $(pwd):/opt/app/src:Z -w /opt/app/src acend/hugo:<version-in-dockerfile> hugo server -p 8080 --bind 0.0.0.0

Linting of Markdown content

Markdown files are linted with markdownlint. Custom rules are in markdownlint.json. There's a GitHub Action github/workflows/markdownlint.yaml for CI. For local checks, you can either use Visual Studio Code with the corresponding extension, or the command line like this:

npm install
node_modules/.bin/markdownlint content

Contributions

If you find errors, bugs or missing information, please help us improve and have a look at the Contribution Guide.

Tag summary

Content type

Image

Digest

Size

16.3 MB

Last updated

over 5 years ago

docker pull puzzle/prometheus-basics-training