Add a demo

Motivation

When you have developed a new data pipeline or data product you often want to show it in action to other colleagues or potential clients. To easily achieve this you can create your own demo, so that it can easily be reproduced and/or shared with other people.

Please keep in mind that a demo requires a stack to run on. Have a look at the chapter Add a stack on how to create your own stack.

1. Create a demos.yaml

For a custom demo you need to create a mycorp-demos.yaml containing demos according to the format defined by the Stackable provided demos.

As of writing a demos.yaml file could look as follows:

demos:
  mycorp-warehouse-realtime-analysis:
    description: Using our internal warehouse stack we show how you can analyze real-time data and build interactive Dashboards
    documentation: https://my.corp/some-blogpost-anouncing-demo.html
    stackableStack: mycorp-warehouse
    labels:
      - mycorp
      - warehouse
      - real-time
      - dashboards
    manifests:
      - plainYaml: https://my.corp/demos/mycorp-warehouse-realtime-analysis/create-testdata-ingestion-job.yaml
      - plainYaml: https://my.corp/demos/mycorp-warehouse-realtime-analysis/create-trino-tables.yaml
      - plainYaml: https://my.corp/demos/mycorp-warehouse-realtime-analysis/setup-superset.yaml

2. Add demos.yaml to stackablectl invocation

After creating the mycorp-demos.yaml file it can be added to the available demos in stackablectl via the CLI argument --additional-demos-file mycorp-demos.yaml.

The argument to --additional-demos-file can be either a path to a file on the local filesystem or an URL. By using an URL the demos file can be put into a central Git repository and referenced by all teams or clients. Multiple --additional-demos-file flags can be specified to include multiple demos files.

Every additional demo will be added to the already existing demos in stackablectl, so all the available demos files will be merged.

Working with feature branches