Add initial API server proxy

Co-authored-by: Shyam <shyam0904a@users.noreply.github.com>
This commit is contained in:
Philip Laine
2026-05-26 10:53:36 +02:00
co-authored by Shyam
parent 59af2d6933
commit 819166cb0b
13 changed files with 1311 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: netbird-kubeapi-proxy
labels:
app.kubernetes.io/name: netbird-kubeapi-proxy
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: netbird-kubeapi-proxy
template:
metadata:
labels:
app.kubernetes.io/name: netbird-kubeapi-proxy
spec:
serviceAccountName: netbird-kubeapi-proxy
securityContext:
seccompProfile:
type: RuntimeDefault
containers:
- name: proxy
image: ghcr.io/netbirdio/netbird-kubeapi-proxy:dev
args:
- --api-key=$(API_KEY)
- --setup-key=$(SETUP_KEY)
- --instance-name=$(POD_NAME)
- --cluster-name=kubernetes
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: SETUP_KEY
valueFrom:
secretKeyRef:
name: netbird-kubeapi-proxy
key: setup-key
- name: API_KEY
valueFrom:
secretKeyRef:
name: netbird-kubeapi-proxy
key: api-key
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
capabilities:
drop:
- ALL
+5
View File
@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- rbac.yaml
+38
View File
@@ -0,0 +1,38 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: netbird-kubeapi-proxy
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: netbird-kubeapi-proxy
rules:
- apiGroups:
- ""
resources:
- users
- groups
verbs:
- impersonate
- apiGroups:
- authentication.k8s.io
resources:
- userextras/*
- uids
verbs:
- impersonate
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: netbird-kubeapi-proxy
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: netbird-kubeapi-proxy
subjects:
- kind: ServiceAccount
name: netbird-kubeapi-proxy
namespace: default