Add a Demo

Motivation

When you have developed a new data pipeline or product, you often want to show it to other colleagues or potential clients. You can create a custom demo to achieve this - enabling easy reproduction and sharing with others.

Please remember that a demo requires a stack to run on. Look at the chapter Add a Stack on creating your stack.

1. Create a demos.yaml

For a custom demo, you must 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. Using the Custom demos.yaml File

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

The argument to --demo-file can be a path to a file on the local filesystem or a URL. For example, the demo file can be put into a central Git repository and referenced by all teams or clients. Multiple "`--demo-file` flags can be specified to include multiple demo files.

Additionally, the custom file can be provided using an environment variable. The variable can be defined by export in the shell or a .env file.

STACKABLECTL_DEMO_FILES=demos1.yml,demos2.yml

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