Templates

Templates allow you to easily install and share applications.

Templates can be shared with others, re-used on your clusters, and used to create a Platform to resell your software! Check out our Official templates or see all public templates to get started!

Creating a new Template

Visit kubesail.com/template and Choose a public or private template

  • Public templates are visible to everyone - Be careful not to include sensitive information!
  • Private templates are only visible to you and members of your organization

Getting started

  • Choose "Start with a Docker image" if you have a public Docker image you'd like to use - we'll automatically generate most of the Kubernetes configuration you'll need!
  • Choose "Add a Deployment" to see a minimal example of a Kubernetes Deployment
  • Choose "Edit YAML" to open the built-in YAML Editor

Adding resources

You can add common Kubernetes resources using the "+" icon in the Editor.

Add resource

Editing resources

You can use the YAML editor on the right to create any custom resource you'd like. However, for most common resource-types, you can also click on the resource on the left and use more friendly tools to modify the resources:

Left-hand editor

Template Variables

You can create special variables that will require user-input before launching. This is very useful for configuration that will need to be different for each user who installs this template. Variables are formatted like "{{ VARIABLE_NAME }}". Variables must be quoted, and can only be strings.

Creating a variable will automatically add the "Environment Variable" panel to the left-hand side:

Env vars

Environment variables can also be upgraded a bit to help users by giving them defaults and descriptions about how they should be used. The format is:

`"{{ VARIABLE_NAME|default value|Description }}"`

You can also use RANDOM(length) as a default value to generate random strings such as passwords:

Variable functions

Variables which have no default value -must- be completed by a user before the Template can be launched.

As always, please let us know in our discord channel if you have any questions or if you need a hand building an awesome template!

Special Variables

KS_NAMESPACE will be replaced with the name of the namespace this template is launched in. This is useful for Ingress names for apps which may be installed in many namespaces. For example {{ KS_NAMESPACE }}.mycluster.myapp.com is useful for user-installations of templates, including Platform.