cloudnative-pg / cloudnative-pg/plugin-barman-cloud
Port conflicts caused by barman-cloud sidecar
- Dominant language
- Go
- Stars
- 191
- Forks
- 72
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 18
Description
The Barman Cloud Plugin is injected as an Instance Manager sidecar plugin in the PG Pods. The sidecar starts a controller-runtime manager, which by default, runs a set of http servers for exposing a variety of utilities, such as readiness probes and metrics endpoints.
The way [Kubernetes builds the Network for containers in the same Pod](https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking), doesn't let two processes use the same port even across different containers.
This prevents other processes in other containers to use network ports already used by the barman cloud sidecar, which might be inconvenient if changing them is not straight forward.
The `instance` subcommand should expose additional options to either configure the controller-runtime manager used ports or disable the exposed servers.
Contributor guide
Research direction
Start by locating the `instance` subcommand and the controller-runtime manager setup described in the issue. Inspect how its HTTP servers and ports are configured, then define how the subcommand can configure or disable them; done means the sidecar no longer causes port conflicts and the selected options are exposed through the instance command.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, postgresql
- Domain
- backend, databases, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100