flant / addon-operator

A system to manage additional components for Kubernetes cluster in a simple, consistent and automated way.
https://flant.github.io/addon-operator/
Apache License 2.0
483 stars 27 forks source link

Add exported main function #473

Open alex123012 opened 5 months ago

alex123012 commented 5 months ago

Is your feature request related to a problem? Please describe.

Writing go hooks requires to clone addon-operator repo or copy cmd/addon-operator/main.go file to own repo

Describe the solution you'd like to see

Add easy-to-import main function. For example, move all cmd/addon-operator/main.go logic to pkg/app/main.go file, make main func exported and import it in cmd/addon-operator/main.go like this:

package main

import (
    "github.com/flant/addon-operator/pkg/app"
)

func main() {
    app.Run() // app.Main()/app.RunAddonOperator()/anything else
}

Another solution would be adding smth like "hooks discovery" script or package, that will scan repo with go hooks on build time and generate shallow imports of them with sdk

Describe alternatives you've considered Simple copy of cmd/addon-operator/main.go

raabdullaev commented 2 months ago

@alex123012 are you interested in this feature? Maybe you'll implement it by yourself? :)