This commit is contained in:
Hrankin, Aleksandr (contracted)
2026-02-19 11:34:13 +00:00
commit f243f440c3
191 changed files with 6183 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: netbird-core
namespace: argocd
spec:
project: default
source:
repoURL: https://charts.jaconi.io # Helm repo
chart: netbird
targetRevision: "*"
helm:
releaseName: netbird-core
values: |-
# fullnameOverride = базовое имя ресурсов внутри кластера.
# Оставляем "netbird", чтобы сервисы были:
# netbird-management, netbird-signal, netbird-relay и т.п.
# Если потом захочешь, можно переосмыслить, но так проще стыковать.
fullnameOverride: "netbird"
config:
database:
DB_TYPE: postgres
HOST: postgres-postgresql.postgres.svc.cluster.local
PORT: 5432
NAME: netbird
USER: netbird_user
PASSWD: password
relay:
enabled: true
config:
# Адрес, который будут видеть клиенты (обычно внешний / LB)
# Пока можно оставить сервис кластера, позже сменить на внешний.
NB_EXPOSED_ADDRESS: "netbird-relay.netbird.svc.cluster.local:33080"
signal:
enabled: true
management:
enabled: true
config:
NETBIRD_SIGNAL_URI: "netbird-signal.netbird.svc.cluster.local:10000"
NETBIRD_SIGNAL_PROTOCOL: "https"
NETBIRD_RELAY_DOMAIN: "netbird-relay.netbird.svc.cluster.local"
NETBIRD_RELAY_PORT: "33080"
NETBIRD_STUN_URI: "stun:netbird-signal.netbird.svc.cluster.local:3478"
NETBIRD_TURN_URI: "turn:netbird-signal.netbird.svc.cluster.local:3478"
# ВАЖНО: dashboard в core-чарте выключен,
# чтобы UI поднимался только отдельным чартом netbird-dashboard
dashboard:
enabled: false
destination:
server: https://kubernetes.default.svc
namespace: netbird
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
# kubectl apply -f main.yaml -n argocd
# kubectl create secret generic netbird-relay-secret -n netbird --from-literal=netbird-relay-secret-key="86..."

View File

@@ -0,0 +1,65 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: netbird-dashboard
namespace: argocd
spec:
project: default
source:
repoURL: https://charts.jaconi.io
chart: netbird-dashboard
targetRevision: "*"
helm:
releaseName: netbird-dashboard
values: |-
image:
# Версия образа UI
tag: v2.22.2
auth:
authority: https://keycloak.example.com/realms/homelab
audience: netbird
clientID: netbird
supportedScopes: >
openid profile email offline_access netbird-api
netbird:
# !!! ВАЖНО !!!
# Здесь указываем тот же домен, по которому приходит трафик снаружи.
# На первом этапе можем просто использовать netbird.local он будет
# ходить к backend'у через ingress-nginx.
managementApiEndpoint: https://netbird.local
managementGrpcApiEndpoint: https://netbird.local
ingress:
enabled: true
className: nginx
annotations: {}
hosts:
- host: netbird.local
paths:
- path: /
pathType: Prefix
# Пока TLS можно не поднимать (нет cert-manager / real cert'ов):
tls: []
# Если будешь использовать cert-manager:
# annotations:
# cert-manager.io/cluster-issuer: letsencrypt
# tls:
# - secretName: netbird-tls-certificate
# hosts:
# - netbird.local
destination:
server: https://kubernetes.default.svc
namespace: netbird
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
# kubectl apply -f main.yaml -n argocd