stackabletech / stackabletech/listener-operator

ListenerClass CRD restructure

Open
#330 5 comments 1 reaction 1 assignee View on GitHub

@NickLarsenNZ is already working on this.

Since Aug 21, 2025.

Dominant language
Python
Stars
9
Forks
2
Avg merge
1d 9h
Merged PRs (30d)
8

Description

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 (dismissed)
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 (dismissed)
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: {}
Option 3 (approved)
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:
    <service object>
    metadata:
      annotations:
    spec:
      type: LoadBalancer
      loadBalancerClass: eks.amazonaws.com/nlb
      allocateLoadBalancerNodePorts: false
      externalTrafficPolicy: Local

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.