CRD & Operator
The foundation of Rig is our Capsule CRD (CustomResourceDefinition). The Rig Operator will spawn all derived Kubernetes resources as defined by a Capsule resource. It will also watch these derived resources and undo any changes applied to them which conflicts with their Capsule parent. Updating these resources can only be done by updating the corresponding capsule spec. The resources we spawn are
ConfigMaps and Secrets used by a capsule is not owned by the capsule though. These will be created by the Platform and can be updated independently of the capsules. The operator, however, will watch those config files and redeploy instances if configs or secrets they depend on have been changed.
This is a complete example of the
Capsule CRD spec
- path: /etc/config.yaml
- name: http
- name: ingress