kubernetes / kubernetes/cloud-provider-openstack
[occm] Support backend re-encryption
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 720
- Forks
- 687
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 51
Description
/kind feature
What happened:
Currently, when creating a LoadBalancer with the annotations "loadbalancer.openstack.org/x-forwarded-for" and "loadbalancer.openstack.org/default-tls-container-ref" the connection between the LB and the K8S Worker Node is not encrypted, and encryption cannot be enabled (no annotations or other configuration method are available).
--enable-tls
What you expected to happen:
I wanted to be able to enable encryption for the connection between the LoadBalancer and the K8S Worker Node via an annotation. This can be done manually by setting the "--enable-tls" parameter for the LoadBalancer pool created by OCCM.
How to reproduce it:
- Create LoadBalancer service using below annotations:
loadbalancer.openstack.org/x-forwarded-for: "true"
loadbalancer.openstack.org/default-tls-container-ref: "..." - Set "--enable-tls" for LoadBalancer HTTPS listener's pool created by OCCM
Anything else we need to know?:
Docs describing how to create LB with backend re-encryption
https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-http-2-load-balancer-with-alpn-tls-extension-and-backend-re-encryption
Environment:
- openstack-cloud-controller-manager(or other related binary) version: v1.34.1
- OpenStack version: 2024.01
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing OCCM's LoadBalancer handling for the x-forwarded-for and default-tls-container-ref annotations, focusing on the HTTPS listener pool and its --enable-tls setting. Compare the expected behavior with the linked Octavia backend re-encryption cookbook. Done means a LoadBalancer annotation or configuration enables encryption between the LoadBalancer and Kubernetes worker node, with the relevant behavior tested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100