Publishing a template
Suggest a template or change through an issue.
Templates live in cubeshipd/cubeship/templates. To suggest a template or change, open an issue in the repository. Cubeship maintains the catalog and its source files.
Each directory needs three files:
| File | Purpose |
|---|---|
template.yaml | The resources and inputs. Set top-level name to the display name. At most 256 KB. |
README.md | What the template installs and what to do after installing. At most 512 KB. |
icon.png | A square PNG, 128 to 1024 pixels per side, at most 512 KB. |
For a source-built app, keep its Dockerfile and any files it copies inside the same directory. Set repo: https://github.com/cubeshipd/cubeship and ref: master:templates/<directory>. The installer pins the build to the cataloged commit and uses that directory as the build context.
The directory name identifies the template in URLs. name controls how it appears in the catalog; changing it does not change the URL. Add this line to the YAML for editor checks:
# yaml-language-server: $schema=https://cubeship.dev/schema/template/v1.jsonCI validates every directory with Cubeship's validator. Changes on master publish all directories together to the template-catalog branch. The site refreshes that snapshot every 60 seconds without a redeploy. If any directory is invalid, publication fails and the previous valid snapshot remains available. Relative links and images in a README resolve within that directory at the cataloged commit.
There are no template releases or updates to existing installations. version: 1 in the YAML identifies the file format. Image tags and source refs inside apps still describe what a new install will run. To change an existing installation, change its apps on that Cubeship instance.