|
1 | 1 | # Roadmap |
2 | 2 |
|
3 | | -High-level feature goals for KubeAid. The current implementation status of |
4 | | -each item — what's done, what's in progress, and how it works — is documented |
5 | | -in [Technical Details on the |
6 | | -Features](./docs/kubeaid/features-technical-details.md). |
7 | | - |
8 | | -This roadmap reflects current priorities and will shift as the project and |
9 | | -its users grow; it isn't a committed release schedule. |
10 | | - |
11 | | -## Feature goals |
12 | | - |
13 | | -* Set up Kubernetes clusters on: |
14 | | - * **Physical servers**: On-premise and [Hetzner](https://www.hetzner.com/) Bare Metal |
15 | | - * **Cloud VMs**: [Hetzner HCloud](https://www.hetzner.com/cloud), [AWS](https://aws.amazon.com/), and |
16 | | - [Azure](https://azure.microsoft.com/) |
17 | | - * **Managed control planes**: [AWS EKS](https://aws.amazon.com/eks/) and |
18 | | - [Azure AKS](https://azure.microsoft.com/en-us/products/kubernetes-service) |
19 | | - * **Hybrid clusters**: Combining Hetzner Bare Metal with HCloud VMs |
20 | | -* Auto-scaling for all cloud Kubernetes clusters and easy scaling for physical |
21 | | - servers |
22 | | -* Manage an ever-growing list of open-source Kubernetes applications (see the |
23 | | - [`argocd-helm-charts/`](./argocd-helm-charts/) folder for the current list) |
24 | | -* Build advanced, customised Prometheus monitoring using just a per-cluster |
25 | | - config file, with automated handling of trivial alerts, like disk filling |
26 | | -* GitOps setup — ALL changes in a cluster are done via Git, AND we detect if |
27 | | - anyone adds anything in the cluster or modifies existing resources without |
28 | | - doing it through Git |
29 | | -* Frequent updates for KubeAid-managed applications with security and bug |
30 | | - fixes, ready to be issued to your cluster(s) at will — so you can focus on |
31 | | - your business applications |
32 | | -* [Air-gapped operation](https://kubernetes.io/blog/2023/10/12/bootstrap-an-air-gapped-cluster-with-kubeadm/) |
33 | | - of your clusters, to ensure operational stability |
34 | | -* Cluster security — proper NetworkPolicies to secure intra-cluster and |
35 | | - ingress traffic, ensuring least privilege between applications |
36 | | -* Backup, recovery and live migration of applications or entire clusters |
37 | | -* Major cluster upgrades via a shadow Kubernetes setup (a parallel failover |
38 | | - cluster that allows you to test upgrades and seamlessly switch over), |
39 | | - utilising the recovery and live migration features |
40 | | -* Supply-chain attack protection and discovery, with frequent security scans |
41 | | - of all software used in the clusters (as new vulnerabilities are constantly |
42 | | - being discovered) |
| 3 | +Most of what KubeAid set out to do is shipped — the [README](./README.md#features) lists the feature set and |
| 4 | +[Technical Details on the Features](./docs/kubeaid/features-technical-details.md) documents the implementation |
| 5 | +status of each piece. This roadmap lists what is genuinely open. |
| 6 | + |
| 7 | +This reflects current priorities and will shift as the project and its users grow; it isn't a committed release |
| 8 | +schedule. |
| 9 | + |
| 10 | +## Cluster lifecycle |
| 11 | + |
| 12 | +- **`cluster recover` for cloud and managed control planes** — recovery is wired for self-managed AWS/Azure; |
| 13 | + EKS and AKS clusters currently re-bootstrap and restore from Velero backups manually. |
| 14 | +- **Hetzner day-2 parity** — `cluster upgrade` and `cluster recover` for Hetzner Cloud, Bare Metal and hybrid |
| 15 | + clusters are work in progress (see the |
| 16 | + [kubeaid-cli provider matrix](https://github.com/Obmondo/kubeaid-cli#cloud-providers)). |
| 17 | +- **Day-2 `cluster sync` beyond bare metal** — reconciling config changes onto running Cluster API clusters; |
| 18 | + tracked in the [kubeaid-cli roadmap](https://github.com/Obmondo/kubeaid-cli/blob/main/ROADMAP.md). |
| 19 | + |
| 20 | +## Resilience |
| 21 | + |
| 22 | +- **Live cluster migration** — moving applications or whole clusters between environments (for example built on |
| 23 | + Cilium Cluster Mesh), which also unlocks major upgrades via a shadow cluster with seamless switchover. |
| 24 | +- **Full air-gapped operation** — maintaining an in-cluster copy of every container image in use and pointing |
| 25 | + all charts at it. Harbor proxy-cache with the kyverno rewrite policy covers clusters that deploy Harbor; |
| 26 | + the platform-wide flow is still open. |
43 | 27 |
|
44 | 28 | ## Contributing to the roadmap |
45 | 29 |
|
46 | | -Have a use case this doesn't cover, or want to work on one of the items |
47 | | -above? Open an [issue](https://github.com/Obmondo/KubeAid/issues) — see |
48 | | -[CONTRIBUTING.md](./CONTRIBUTING.md) for how to get started. |
| 30 | +Have a use case this doesn't cover, or want to work on one of the items above? Open an |
| 31 | +[issue](https://github.com/Obmondo/KubeAid/issues) — see [CONTRIBUTING.md](./CONTRIBUTING.md) for how to get |
| 32 | +started. |
0 commit comments