Setup guide
Kubernetes Cluster Installation
Rig shines when it gets to run in a real Kubernetes environment. It lowers the barrier of entry for engineers as they won't have to learn the complex APIs of Kubernetes.
Rig consists of two components which together gives the full experience of Rig.dev.
- rig-operator: our open source components which provide higher level APIs in kubernetes, which encapsulate multiple low level resources in a single CRD.
- rig-platform: our paid product which further builds on the primitives provided by rig-operator.
Each of these components have their own requirements and offer options for configuration to make it fit into your kubernetes cluster.
Quick Installation
For a quick installation in an existing Kubernetes cluster, you can follow the steps here. For a more in-depth guide, see the next section.
- Install the Rig Operator:
helm upgrade --install rig-operator rig-operator \
--repo https://charts.rig.dev \
--version 1.0.27 \
--namespace rig-system \
--create-namespace
- Install the Rig Platform:
helm upgrade --install rig-platform rig-platform \
--repo https://charts.rig.dev \
--version 1.0.40 \
--namespace rig-system \
--create-namespace \
--set postgres.enabled=true
- Bootstrap your first user and project by running:
kubectl exec -it -n rig-system deploy/rig-platform -- rig-admin init
- Access the dashboard at http://localhost:4747 after starting port-forwarding:
kubectl port-forward -n rig-system service/rig-platform 4747
As part of the quick installation, a small PostgresSQL instance is installed in your cluster, for the Platform to use. This is not recommended for production environments.
Dashboard metrics require a metrics-server in the kubernetes cluster. While available in most kubernetes cluster, See here for instructions on how to install it, if missing: https://github.com/kubernetes-sigs/metrics-server
Install using Terraform
It is easy to install Rig with Terraform as well using Helm. The basic Terraform configuration for that is
provider "helm" {
kubernetes {
# Your kubernetes configuration
}
}
resource "helm_release" "rig_operator" {
name = "rig-operator"
repository = "https://charts.rig.dev"
chart = "rig-operator"
version = "1.0.27"
namespace = "rig-system"
create_namespace = true
}
resource "helm_release" "rig_platform" {
name = "rig-platform"
repository = "https://charts.rig.dev"
chart = "rig-platform"
version = "1.0.40"
namespace = "rig-system"
create_namespace = true
set { # Not recommended for production!
name = "postgres.enabled"
value = "true"
}
depends_on = [helm_release.rig_operator]
}
This contains just basic configuration for the rig-operator and rig-platform.
Extended installation guides
For real-world scenarios, we recommend using the extended installation guides, available here:
Configuration
The Rig Operator and Platform both have a values.yaml
file which specify how
to configure their respective Helm charts. The values
files and their
defaults can be found here
To overwrite a default value when deploying, use --set FIELD=VALUE
flags when
running helm
.