Corral Packages

Corral packages is a repository of commonly used rancher setups. These packages are intended for development and testing. Corral packages should never be used for long-running or production environments.

All packages are organized by the cloud provider they are provisioned on followed by the package name. The Package tag will describe any relevant versions contained in the package.

Common Variables

Name Description
kubeconfig A base64 encoded kubeconfig file.

Cloud Credentials

Digital Ocean

Name Description
digitalocean_token A Digitalocean API token with write permission. https://docs.digitalocean.com/reference/api/create-personal-access-token/
digitalocean_domain The domain to use as a base for corral urls.

Node Pools

Any package that creates node pools will have an bastion pool. This pool contains 1 linux node that can be used for custodial package operations. If the package nodes have restricted access this node should be able to be used as a jump box to all other nodes.

Repository Structure

Templates are corral packages that can be used to generate a specific package. They may create cloud provider infrastructure or install kubernetes clusters on nodes. Packages in the templates folder should not be rendered on their own but instead used to compose other packages.

The packages directory contains manifests that compose templates and permutations of variables. One package is created in the dist directory for each unique permutation of the defined variables.

Development

Requirements

Name Version Description
corral <=1.0.0 https://github.com/rancherlabs/corral
golang <=1.18 https://go.dev/doc/install

Getting Started

Before you can use this repo you will need to run make init.

make init

Building Packages

To build all the permutations of packages run make build.

make build

Validating Packages

To validate all packages in the dist folder run make validate.

make validate