Skip to content

redhat-gpte-labs/bookbag-template

Repository files navigation

Bookbag Template

Note
This project is based on OpenShift Homeroom: https://github.com/openshift-homeroom. This repository is based on https://github.com/openshift-homeroom/lab-asciidoc-sample. If you are using OpenShift Homeroom project already, please continue using it. If you want to integrate it with AgnosticD, follow the instructions in [If you Deploy Homeroom Directly from Agnosticd]

This repository should be used as a template for creating (converting) lab content to be used in Bookbag environments.

Using this Template

Instructions on how to use this Template are describe in [https://github.com/redhat-gpte-labs/bookbag-demo

In short, the steps are:

  1. Create a new repository using this one as a GitHub template.

  2. Update the build-template.yaml to point to your repository.

  3. Select your deployment template, with our without OpenShift console access.

  4. Customize terminal settings in envvars/gateway.sh if desired.

  5. Define which modules you want to include in your lab.

  6. List the modules in the workshop.yaml file.

  7. Edit the modules.yaml file to specify modules names and transitions.

  8. Create the modules Asciidoc files (workshop/content/*.adoc).

  9. Build and test your lab instructions

Building the Bookbag Image

  1. Create the bookbag BuildConfig and ImageStream:

    $ oc process -f build-template.yaml | oc apply -f -
  2. Build your image from local source or directly from Git source.

    To build from local source (aka "binary build"):

    $ oc start-build bookbag --follow --from-dir=.

    Build your Bookbag Image from Git (make sure you have set GIT_REPO in your build template!):

    $ oc start-build bookbag --follow

Test Deploy of the Bookbag image

  1. Define a variables file, workshop-vars.json, to define variables for testing your lab content:

    {
        "guid": "abcde",
        "example_var": 42,
        "ssh_command": "ssh [email protected]",
        "ssh_password": "p4ssword!1",
        "user": "lab-user",
        "user_info_messages": "Example workshop messages:\nHello, World",
        "my": {
            "deep": {
                "var": "flattened data"
            }
        }
    }
    Note
    Nested json data is now flattened and joined with a .. Use in your asciidoc: %my.deep.var%
  2. Process the deploy template with your workshop-vars.json:

    $ oc process -f deploy-template.yaml -p WORKSHOP_VARS="$(cat workshop-vars.json)" | oc apply -f -
  3. Get the Bookbag’s Route:

    $ oc get route bookbag
    NAME     HOST/PORT                                  PATH  SERVICES  PORT       TERMINATION    WILDCARD
    bookbag  bookbag-bookbag-demo.apps.ocp.example.com        bookbag   10080-tcp  edge/Redirect  None
  4. Use the Route hostname to open the Bookbag page in your browser.