/argo-rollouts-workshop

A workshop for Argo Rollouts on OpenShift

Primary LanguageJinjaGNU General Public License v3.0GPL-3.0

OpenShift Argo Rollouts Workshop

Introduction

This workshop provides an Argo Rollouts 101 experience on OpenShift using the OpenShift GitOps operator. It walks workshop attendees through the process of using blue-green and canary strategies with Rollouts as well as automated testing using Analysis.

Installation

This workshop is available in the Red Hat Demo Platform (RHDP) for Red Hat employees and partners. It can however be installed manually:

  • Provision OpenShift Workshop 4.14 instance in RHDP with the desired number of users

  • Login on the command line as the admin user with the credentials RHDP provided

  • Modify bootstrap/bootstrap/ansible/bootstrap.yaml to set the number of users you need, this must match the number of users selected in RHDP

  • Run the command ./bootstrap/bootstrap.sh

Note that the installation is using ansible so you must have ansible installed on your system along with the requirements to use the ansible k8s module.

Developing Workshop

In order to test and develop on your local machine, you can use a specially built container with Podman or Docker as follows.

podman run --rm --name antora -v $PWD:/antora -p 8080:8080 -i -t ghcr.io/juliaaano/antora-viewer

Live-reload is not supported.

  1. Create a git repo from this template

  2. Clone the repo and cd into it

  3. Run ./utilities/lab-serve

  4. Open http://localhost:8080 in your browser

  5. Run ./utilities/lab-build to build your html

To rebuild your html, run ./utilites/build.

Understanding the Basic Template Directory Structure

./content/modules/ROOT/
├── assets
│   └── images                       # Images used in your content
│       └── example-image.png
├── examples                         # You can add downloadable assets here
│   └── example-bash-script.sh       # e.g. an example bash script
├── nav.adoc                         # Navigation for your lab
├── pages                            # Your content goes here
│   ├── index.adoc                   # First page of your lab, e.g. overview etc
│   ├── module-01.adoc
│   └── module-02.adoc               # Sample lab has 2 modules including index.adoc
└── partials                         # You can add partials here, reusable content inserted inline into your modules
    └── example_partial.adoc

You can add links to external content in the convenient "Links" drop-down on the upper-right of the Showroom Summit 2024 UI.

./content/antora.yml
asciidoc:
  attributes:
    page-links:
    - url: https://redhat.com
      text: Red Hat
    - url: https://www.redhat.com/en/summit
      text: Summit
ui links

Dev Mode

As a convenience to developers, the Dev Mode Extention (disabled by default) displays the asciidoc attributes you have to work with while writing your lab instructions.

  1. Disable/Enable Dev Mode by changing enabled: true or enabled: false

    default-site.yml
    extensions:
      - id: dev-mode
        require: ./content/lib/dev-mode.js
        enabled: false
  2. Produces

    dev mode