Getting started¶
Requirements¶
- Installed kubectl command-line tool.
- Have a kubeconfig file (default location is
~/.kube/config
).
1. Install burrito¶
kubectl create namespace burrito
kubectl apply -n burrito -f https://raw.githubusercontent.com/padok-team/burrito/main/manifests/install.yaml
This will create a new namespace, burrito
, where burrito services will live.
Warning
The installation manifests include ClusterRoleBinding
resources that reference burrito
namespace. If you are installing burrito into a different namespace then make sure to update the namespace reference.
Info
You might be interested by our Helm chart, that provides more control over burrito's configuration as well as a multi-tenant architecture.
2. Create a connection to a private repository¶
Create a Kubernetes Secret
which looks like:
kind: Secret
metadata:
name: burrito-repo
namespace: burrito
type: Opaque
stringData:
username: <my-username>
password: <my-password | my-access-token>
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
Then, create a TerraformRepository
Kubernetes resource:
apiVersion: config.terraform.padok.cloud/v1alpha1
kind: TerraformRepository
metadata:
name: burrito
namespace: burrito
spec:
repository:
url: <https_or_ssh_repository_url>
secretName: burrito-repo
Info
You can also connect to a public repository by omitting spec.repository.secretName
in your TerraformLayer
definition.
3. Synchronize a terraform layer¶
After creating a TerraformRepository
you can create a TerraformLayer
ressource which looks like:
apiVersion: config.terraform.padok.cloud/v1alpha1
kind: TerraformLayer
metadata:
name: random-pets
namespace: burrito
spec:
terraform:
version: "1.3.1"
path: "internal/e2e/testdata/random-pets"
branch: "main"
repository:
name: burrito
namespace: burrito