cert-manager / website

Source code for the cert-manager.io website, including project documentation
https://cert-manager.io
Apache License 2.0
53 stars 330 forks source link

Describe cert-manager feature policy #1125

Open irbekrm opened 1 year ago

irbekrm commented 1 year ago

At the moment all our features are in alpha.

We have also marked beta features as off by default:

--feature-gates mapStringBool                         A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
                                                            AdditionalCertificateOutputFormats=true|false (ALPHA - default=false)
                                                            AllAlpha=true|false (ALPHA - default=false)
                                                            AllBeta=true|false (BETA - default=false)

This is not defined in cert-manager codebase- it seems to come from component-base as we use that library to define our feature gates. Meanwhile upstream Kubernetes have beta feature gates on by default

Should we follow upstream and have beta features on by default?

https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/feature-gates.md

https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-stages

irbekrm commented 1 year ago

Additional questions:

Most features of the alpha features will probably require looking at individually to define what needs to be done to graduate them/whether there are any reported issues etc.

Here is an example graduation criteria write-up for a specific feature in upstream https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings#graduation-criteria

Interesting upstream discussion about feature policy https://docs.google.com/document/d/1roVAHyF7eWZAccmCKw7MXYUNgx4BCDSXF2IMS8h10oY/edit?usp=sharing&resourcekey=0-x6Tw2qz1SpCIPhbec6Qa2A Outlines a few issues upstream: