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

CRD: ManagedOSVersionChannel #63

Closed
Tracked by #58
mudler opened this issue Mar 22, 2022 · 5 comments · Fixed by rancher-sandbox/rancheros-operator#14
Closed
Tracked by #58

CRD: ManagedOSVersionChannel #63

mudler opened this issue Mar 22, 2022 · 5 comments · Fixed by rancher-sandbox/rancheros-operator#14
Assignees
Labels

Comments

@mudler
Copy link
Contributor

mudler commented Mar 22, 2022

Part of #58

Create the following new CRDs and controller for the resources types described below

ManagedOSVersionChannel and the controller

the ManagedOSVersion resources are populated by a controller, or either a kubernetes mechanism that satisfy ManagedOSVersionChannel source and constraints. The ManagedOSVersionChannel can be defined as such:

apiVersion: rancheros.cattle.io/v1
kind: ManagedOSVersionChannel
spec:
  type: "JSON"
  options: # map[string]interface{}
       url: "<file>.json"

where a type of channel (e.g. JSON, URL, XML, Github) populates ManagedOSVersions by using the specified options

It defines with which rules ManagedOSVersion should be populated (e.g. github repository tags, releases, a custom json file to parse)

The controller make sure to add labels/annotations where appropriately to notify that a ManagedOS version can be applied.

Ping the harvester team about their strategy and if it does cover their use cases too. Note they might have already a json file or something similar for their available versions, in which we might want to sync up within this card as we want to collect as much feedback as possible at this stage.

cc @bk201

@mudler mudler changed the title CRD: ManagedOSVersion and ManagedOSVersionChannel` CRD: ManagedOSVersion and ManagedOSVersionChannel Mar 22, 2022
@mudler
Copy link
Contributor Author

mudler commented Mar 24, 2022

Blocked by #67

@mudler mudler added status/blocked Issue depend on another one kind/enhancement New feature or request area/elemental and removed status/blocked Issue depend on another one labels Mar 24, 2022
@mudler
Copy link
Contributor Author

mudler commented Mar 28, 2022

I just had a quick look at the harvester code base to see how this is implemented specifically in their use case so we can cover their usage too:

❯ curl -X POST https://harvester-upgrade-responder.rancher.io/v1/checkupgrade --header "Content-Type: application/json" -d '{ "HarvesterVersion": "v1.0.0" }'
{"versions":[{"name":"v0.2.0-rc4","releaseDate":"2021-04-26T22:00:00Z","tags":["latest"]}]}

@bk201
Copy link
Member

bk201 commented Mar 28, 2022

@mudler Just want to add this might change slightly because we don't want to add custom fields to the responder. More detail about a version will be retrieved from another URL.

@mudler mudler changed the title CRD: ManagedOSVersion and ManagedOSVersionChannel CRD: ManagedOSVersionChannel Mar 29, 2022
@mudler
Copy link
Contributor Author

mudler commented Apr 4, 2022

Included in rancher-sandbox/rancheros-operator#14

@mudler
Copy link
Contributor Author

mudler commented Apr 5, 2022

Follow-ups are tracked in #58

mudler added a commit that referenced this issue Jun 3, 2022
Signed-off-by: Ettore Di Giacinto <edigiacinto@suse.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants