Skip to content

ListenerClass CRD restructure #330

@NickLarsenNZ

Description

@NickLarsenNZ

We currently have all ListenerClass spec fields at the top level. Most are passed through to the Service and most are prefixed with service while others are not.

Perhaps we should consider one of these options:

  1. Prefix all fields that will be passed to Service with service.
  2. Move Service related fields down to serviceOverrides
    • We need to consider if there are Service fields that should not be overridable.

Option 1

apiVersion: listeners.stackable.tech/v1alpha1
kind: ListenerClass
metadata:
  name: aws-ec2-nlb-public
spec:
  # 👇 This is not passed to the Service
  preferredAddressType: HostnameConservative
  serviceType: LoadBalancer
  # 👇 prefix with `service`
  serviceLoadBalancerClass: eks.amazonaws.com/nlb
  serviceLoadBalancerAllocateNodePorts: false
  # 👆 
  serviceExternalTrafficPolicy: Local
  serviceAnotations: {}

Option 2

apiVersion: listeners.stackable.tech/v1alpha1
kind: ListenerClass
metadata:
  name: aws-ec2-nlb-public
spec:
  # 👇 This remains unchanged, not passed to the Service
  preferredAddressType: HostnameConservative
  # 👇 New
  serviceOverrides:
    type: LoadBalancer
    loadBalancerClass: eks.amazonaws.com/nlb
    loadBalancerAllocateNodePorts: false
    externalTrafficPolicy: Local
    annotations: {}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions