Skip to content

Commit 8c1623f

Browse files
feat: Add docs for controlling resources (#434)
* Add docs for controlling resources * formatting
1 parent 4078b04 commit 8c1623f

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

docs/resources.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Embedded Cluster Custom Resources
2+
Controlling resources utilized inside embedded cluster
3+
4+
## ClusterConfig
5+
- **Owner**: k0s
6+
- **Namespace**: kube-system
7+
8+
The `ClusterConfig` object contains the ingested k0s config from `/etc/k0s/k0s.yaml`
9+
10+
This ingestion happens at k0s daemon startup on controller nodes.
11+
12+
It can be dynamically updated, and the k0s config reconciliation process will apply any changes to the cluster except from `spec.api` and `spec.storage`.
13+
14+
The [embedded cluster operator](https://github.com/replicatedhq/embedded-cluster-operator/) reconciles helm chart updates against the `ClusterConfig` object to initiate helm chart upgrades via the k0s helm reconciler.
15+
16+
## Chart
17+
- **Owner**: k0s
18+
- **Namespace**: kube-system
19+
20+
The `Chart` object contains the spec, values and tracking information for helm charts installed by the [k0s helm reconciler](https://docs.k0sproject.io/head/helm-charts/); they can be created, deleted and updated. Deleting a `Chart` object will uninstall the related helm chart from the cluster, however if the helm chart configuration is still present in the `ClusterConfig` the k0s reconciliation process will recreate/reinstall it.
21+
22+
`Chart` Objects are currently only managed by the k0s helm reconciler, and it’s best to leave it that way for now as the API / schema for these resources is not documented.
23+
24+
`Chart` Objects are monitored by the Embedded Cluster Operator in order to track and surface helm installation processes and errors.
25+
26+
## Plan
27+
- **Owner**: k0s
28+
- **Cluster scoped object**
29+
30+
`Plan` objects are used to configure the k0s autopilot operator, the autopilot operator controls cluster version upgrades via distributing and installing new k0s binaries and airgap bundles.
31+
32+
The `Plan` resource is created by the Embedded Cluster Operator using details from the `Installation` object.
33+
34+
## Installation
35+
- **Owner**: Replicated
36+
- **Cluster scoped object**
37+
38+
The `Installation` object is used by the Embedded Cluster Operator to both initiate and track cluster and helm chart upgrades. they are created by [KOTS](https://github.com/replicatedhq/kots), and are marked as `Obsolete` when superseded by a newer `Installation` object.
39+
40+
The `Installation` object can contain errors surfaced from the `Plan` and `Chart` resources.
41+
42+
Possible Installation statuses can be found here: https://github.com/replicatedhq/embedded-cluster-operator/blob/e4fbb42919ad3b58cdc563dca77471cf76099393/api/v1beta1/installation_types.go#L24

0 commit comments

Comments
 (0)