tailscale / tailscale/tailscale

FR: Additional configuration for k8s-operator spawned pods

Open
#10,880 11 comments 3 reactions 0 assignees View on GitHub
fr kubernetes needs-triage
Dominant language
Go
Stars
36.5k
Forks
3.2k
Avg merge
2d 3h
Merged PRs (30d)
123

Description

### What are you trying to do?

the k8s-operator creates a new `Statefulset` per exposed service - the operator allows configuration of some parameters via env var; e.g `PROXY_IMAGE` - however there are only a limited subset of configurable options. So far, I've had to handle these in a mutating webhook:

- tolerations
- node affinity
- requests/limits
- env vars; e.g `TS_EXTRA_ARGS` (need to add `--netfilter-mode=off` to avoid tailscale blackholing routes)
- container `postStart` lifecycle hook (for `iptables` related to the above netfilter argument)

This is not an exhaustive list of pod spec/statefulset spec that should be exposed and configurable

### How should we solve this?

Support for this can be added by exposing additional env vars (this can get out of hand pretty quickly), providing the operator a statefulset template in a configmap it then patches, or provide a json patch in a configmap the operator applies to the statefulset spec it generates

### What is the impact of not solving this?

Without a solve for this, end users will either have to deploy statefulsets manually (which largely defeats the utility of the operator) or use mutating webhooks

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.