kubernetes / kubernetes/cloud-provider-openstack

[occm] Support backend re-encryption

Open
#3,113 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature
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:

  1. Create LoadBalancer service using below annotations:
    loadbalancer.openstack.org/x-forwarded-for: "true"
    loadbalancer.openstack.org/default-tls-container-ref: "..."
  2. 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

Open the contributing guide

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.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.