Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store manifest used to reconcile a cluster on the target cluster #173

Closed
xmudrii opened this issue Jan 16, 2019 · 0 comments
Closed

Store manifest used to reconcile a cluster on the target cluster #173

xmudrii opened this issue Jan 16, 2019 · 0 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Milestone

Comments

@xmudrii
Copy link
Member

xmudrii commented Jan 16, 2019

To ensure it's possible to easier handle cluster upgrades, recover from potential disasters, or modify the cluster once it's reconciled, we should store the original manifest used to reconcile a cluster on the target cluster.

That way we know how exactly we provisioned the cluster and can use the manifest to create the same cluster or modify and upgrade that one while keeping track of the original cluster.

It is up to be decided how exactly we want to store manifests and what information will we store. There are two options for storing manifests:

  1. Store manifest as a ConfigMap or Secret — the easiest to implement, but may be tricky to parse and store additional information
  2. Move from manifests to Kubernetes objects — instead of having pure-YAML manifest like we do right now, we could use a Kubernetes object based on CRDs. It's harder to implement, but much easier to manage. We get Status subresources, so we can more easily store additional information about the target cluster and we get some nice features such as versioning.
    • We could use cluster.k8s.io/v1alpha1 resource to be more compatible with Cluster API or create our own resource

It is also up to be decided do we want to store additional information about the target cluster (i.e. cluster status) and what exactly we want to keep track of. That could include information about what nodes we created and what version nodes are running.

@xmudrii xmudrii added kind/feature Categorizes issue or PR as related to a new feature. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Jan 16, 2019
@xmudrii xmudrii added this to the Someday milestone Mar 1, 2019
@mrIncompetent mrIncompetent modified the milestone: Someday Apr 17, 2019
@xmudrii xmudrii modified the milestones: Someday, v0.10 Jul 1, 2019
@xmudrii xmudrii modified the milestones: v0.10, v0.11 Jul 24, 2019
@xmudrii xmudrii modified the milestones: v0.11, Someday Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

3 participants