removing hybrid helm plugin by acornett21 · Pull Request #381 · operator-framework/helm-operator-plugins
The adoption of the helm hybrid operator has been very low, even in official catalogs like OperatorHub, there are only three operators, all of which are person maintained, and not organization maintained. Another bennefit is that this enables dropped the kubebuilder dependency, and we'd no longer had to generate/scaffold these files prior to and after each release of this project. This alone reduces the maintance burden to upkeep the project, as an added bonus, releases become push a tag.
❯ ./bin/helm-operator-plugins
A utility that enables the ability to run a helm-based operator
Usage:
helm-operator-plugins [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
run Run the operator
Flags:
-h, --help help for helm-operator-plugins
-v, --version version for helm-operator-plugins
Use "helm-operator-plugins [command] --help" for more information about a command.
❯ ./bin/helm-operator-plugins run --help
Run the operator
Usage:
helm-operator-plugins run [flags]
Flags:
--enable-http2 enables HTTP/2 on the webhook and metrics servers
--health-probe-bind-address string The address the probe endpoint binds to. (default ":8081")
-h, --help help for run
--leader-elect Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
--leader-election-id string Name of the configmap that is used for holding the leader lock.
--leader-election-namespace string Namespace in which to create the leader election configmap for holding the leader lock (required if running locally with leader election enabled).
--max-concurrent-reconciles int Maximum number of concurrent reconciles for controllers. (default 16)
--metrics-bind-address string The address the metric endpoint binds to (default ":8080")
--metrics-secure enables secure serving of the metrics endpoint
--reconcile-period duration Default reconcile period for controllers (default 1m0s)
--watches-file string Path to the watches file to use (default "./watches.yaml")
--zap-devel Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)
--zap-encoder encoder Zap log encoding (one of 'json' or 'console')
--zap-log-level level Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity
--zap-stacktrace-level level Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
--zap-time-encoding time-encoding Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.
I think this covers everything, but any change like this I realize is hard to review, and things might have been missed, since I do not have all the tribal knowledge about this project, so my ask to reviewers is to go through this with a fine tooth'd comb. Also, if there are ways of testing run let me know and happy to do that as well.