Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow multiple field managers to manage services for listeners in IngressGateway CRDs #3520

Open
komapa opened this issue Jan 26, 2024 · 0 comments
Labels
type/enhancement New feature or request

Comments

@komapa
Copy link

komapa commented Jan 26, 2024

Community Note

  • Please vote on this issue by adding a 馃憤 reaction to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

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

Consul IngressGateway has a limitation in Kubernetes where you cannot easily add services to the same ingress gateway because the services for said ingress gateway are in the same single CRD.

Feature Description

We would like to add the ability for different field managers to manage listeners and services for IngressGateway CRDs by adding the appropriate x-kubernetes-list-* attributes to the listeners and services fields.

Use Case(s)

We use ArgoCD to deploy applications and when applications are deployed, we want them to be able to register themselves in the IngressGateway CRD. We are also working with ArgoCD itself to make that possible as well. We are going to link to that discussion in this feature request if needed.

Contributions

We pretty much need this patch to be applied to the CRD:

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: ingressgateways.consul.hashicorp.com
spec:
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                listeners:
                  items:
                    properties:
                      services:
                        items:
                          required:
                            - name
                            - namespace
                        x-kubernetes-list-map-keys:
                          - name
                          - namespace
                        x-kubernetes-list-type: map
                    required:
                      - port
                      - protocol
                  x-kubernetes-list-map-keys:
                    - port
                    - protocol
                  x-kubernetes-list-type: map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant