clastix / kamaji

Kamaji is the Hosted Control Plane Manager for Kubernetes.
https://kamaji.clastix.io
Apache License 2.0
1.1k stars 98 forks source link

Add manifests to the published releases #292

Open maxgio92 opened 1 year ago

maxgio92 commented 1 year ago

Feature

Release both binaries and operator manifests (CRDs, webhook configurations, controller, RBAC, etc.).

Motivation

Consumers might need or want to install Kamaji from bare manifests, without the requirement of using Helm.

Additional context

A practical scenario can be kamajictl which can install a specific version of Kamaji, by downloading and applying its released manifests.

Goreleaser could then be leveraged to bundle in the release archive binaries, manifests, signatures, etc. (e.g. https://github.com/fluxcd/kustomize-controller/blob/main/.goreleaser.yaml#L6).

dierbei commented 1 year ago

I try to use go releaser to build the program, this is my rendering, does it meet the requirements?

image

dierbei commented 1 year ago

I changed the architecture of the program build.

image

maxgio92 commented 1 year ago

Thanks @dierbei. The goal here is to release also bare manifests of the Kamaji operator, in order to allow consumers to install Kamaji without using Helm, by applying the manifests bundle.

Moreover, the manifests bundle could be either split between CRD and controllers or it could contain both (all-in-one).

dierbei commented 1 year ago

@maxgio92 Thanks for your answer.

If I understand correctly, it is necessary to add crd, controller and other related yaml files when releasing, right? Pack them in a separate tarball file.

In this way, you can use kubectl to install directly.

prometherion commented 1 year ago

I'd like to thank @dierbei for the patience here, the issue wasn't clear from the beginning and iterated over multiple times to address our requirements.

@maxgio92 I'd say we could remove this from the 0.3.1 milestone so we can easily release Kamaji and try to solve this in a more comfortable way.

maxgio92 commented 1 year ago

Agree @prometherion. I've just reworked the issue title and content to better explain the goal and the context.