Skip to content

Base template for developing labs, workshops, demos using RHDP Zero Platform, asciidoc, and antora

Notifications You must be signed in to change notification settings

rhpds/lab_zero_touch_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Getting Started

  • Create a git repo from this template

  • Clone the repo and cd into it

Understanding the Basic Template Directory Structure

  1. Content Directory

    tree output
    .
    ├── README.adoc                 # Readme file
    ├── config                      # Defines VMs, network and firewall
    ├── runtime-automation          # Scripts directory for setup/next/solve modules
    ├── setup-automation            # Scripts directory when provisioning
    ├── ui-config.yml               # Configuration file
    ├── site.yml                    # Theme config
    └── content                     # Content directory
        ├── antora.yml              # Antora configuration file. You can add "inline vars" here to render within your content
        └── modules/ROOT
            ├── assets
            │   └── images                       # Images used in your content
            │       └── example-image.png
            ├── pages                            # Your content goes here
            │   ├── module-01.adoc               # First module of your lab, e.g. overview etc
            │   ├── module-02.adoc               # Second module of your lab
            │   └── module-03.adoc               # Third module
  2. Lab definition directory

    tree output
    config/
    ├── firewall.yaml                           # Define the egress/ingress rules to be allowed
    ├── instances.yaml                          # Define the instances to be created
    └── networks.yml                            # Define the networks to be created
  3. Runtime Scripts Directory Structure

    tree output
    runtime-automation/
    ├── module_1                            # The directory name should be the same as# the module content page name
    │   ├── setup.sh                        # Setup playbook which run at start of module# and when clicked on next button
    │   ├── solve.sh                        # Solve playbook, run when clicked on solve button
    │   └── validation.sh                   # Validation playbook, run when click on next button
    ├── ansible.cfg                         # Ansible configuration used with module playbooks
    └── main.yml                            # Playbook to be called in each step
  4. Setup Scripts Directory Structure

    tree output
    setup-automation/
    ├── setup-vmname.sh                     # Script to be executed on vmname when is provisioned
    ├── ansible.cfg                         # Ansible configuration used with module playbooks
    └── main.yml                            # Playbook to be called in each step

Understanding UI Configration file

  1. Example: The ui-config.yml configuration file

    tree output
    antora:
      name: modules
      dir: www
      modules:
        - name: 01-playbook-inventory               # Module Name
          label: Playbook Inventory                 # Module Label
          solveButton: true                         # Enable Solve button
        - name: 02-playbook-directory-structure
          label: Playbook Directory Structure
          solveButton: true
    tabs:
      - name: VSCode Editor                         # Tab name
        port: 8443                                  # Port no of the service
        path: /?folder=/home/rhel/ansible-files/    # Path suffix
      - name: ">_control"                           # Tab name
        port: 443                                   # Port of the tt1 terminal
        path: /tty1                                 # Path to the tty1 terminal

Development Cycle

  1. Edit your content in content/modules/ROOT/pages/

  2. Use git to branch and commit your work

  3. Push your work to your repo

    1. You should use git tags or git branches in production

    2. However development items default to the head of main

About

Base template for developing labs, workshops, demos using RHDP Zero Platform, asciidoc, and antora

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages