Azure / azure-service-operator

Azure Service Operator allows you to create Azure resources using kubectl
https://azure.github.io/azure-service-operator/
MIT License
732 stars 193 forks source link

Feature: provide ASOv2 as an operator bundle #1967

Open babbageclunk opened 2 years ago

babbageclunk commented 2 years ago

ASOv1 is packaged as an operator-sdk bundle:

Currently the VS Code AKS extension uses the operator bundle to install ASOv1.

We could do this either by creating a new separate bundle with just the v2 operator (+ requisite CRDs), or by adding v2 to the existing bundle.

Option 1 - ASOv2 in a new bundle

This would need to be a separate bundle rather than a new version of the existing one because:

  1. We won't have a way to automatically upgrade from v1 to v2 resources, and the v2 bundle won't have the same resources. We might have tools to support migrating v1 resources to v2
  2. We want to support having both v1 and v2 operators installed in the same cluster to allow migrating v1 resources to v2.

Pros:

Cons:

Option 2 - both operators in a combined bundle

This would contain the union of the v1 and v2 CRDs, a deployment for each operator, and two separate sets of webhook definitions to connect up the v1 resources to the v1 deployment and the v2 resources to the v2 deployment.

Pros:

Cons:

Current thinking is to go with Option 1.

Open questions:

paulczar commented 2 years ago

Maybe look to release the v2 operator in its own channel, that way users can choose to use v1 or v2 based on the channel they select when deploying the operator.

matthchr commented 2 years ago

I just had another user ask about this as well.

houshym commented 2 years ago

Would you please update v1 to v2 in the operator hub? V2 is recommended, but it is not updated in the operator hub

matthchr commented 1 year ago

Moved this out to 2.2.0 given the issues we've had with getting it to work (bundle size)

matthchr commented 1 year ago

Removed high priority given the issues we've had with bundle size. Still going to do this but we need to think about how to do it (shard the package across N instances?)

matthchr commented 9 months ago

Still blocked on large operator bundle support issues. See #2929 for more details.

matthchr commented 8 months ago

See https://artifacthub.io/packages/helm/kedacore/keda as an example

matthchr commented 2 days ago

For the operator bundle, if we ever get around to doing it, we need to make sure that the documentation comes from the Golang doc comments, and that the readme is in a standalone markdown file rather than embedded directly in the YAML