A Spotguide is a collection of deployable applications and services. A Spotguide is a wizard to create a Git repository, set up CI/CD, create a Kubernetes cluster and deploy the application(s). It’s built upon Helm, but provides additional integration with Pipeline.

Source repository

Each Spotguide lives in a Git repository, which will be used as a source of Spotguide description and template. This repository has a pre-defined folder structure:

.                                       # non Spotguide specific files, like application source code, documentations, tools for local development
└── .banzaicloud                        # Spotguide specific folder
    ├── README.md                       # description of Spotguide and of the provided solutions
    ├── charts                          # Helm charts (one or more)
    │   └── chart-name
    │       ├── .helmignore
    │       ├── Chart.yaml
    │       ├── README.md
    │       ├── templates
    │       │   └── NOTES.txt
    │       └── values.yaml
    ├── icon.svg                        # Spotguide icon to be shown on the UI
    ├── pipeline.yaml                   # CI/CD pipeline template
    └── spotguide.yaml                  # Spotguide descriptor

Refer to the Node.js with MongoDB spotguide for a full example.

Spotguide descriptor (spotguide.yaml)

The spotguide.yaml file is used to hold every information about the Spotguide and has the following scheme:

apiVersion: v1
name: 'name'
description: 'short description'
tags: ['tags']
resources: {} # see the requested resources documentation
questions: [] # see the questionnaire documentation

Publish a Spotguide

A GitHub repository will show up on the Pipeline UI when:

Note: a Spotguide version will not show up on the production UI when it is a pre-release (Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7).

The easiest way to get started to create your own Spotguide is to fork and modify one of the maintained Spotguides.