mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 18:59:09 +00:00
Remove goreleaser and fix helm packaging (#6)
Goreleaser was causing issues when helm chart action created releases for packaged helm chart, this PR replaces goreleaser with a much simpler build and push model, and returns packaged helm charts to normal.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
name: netbird-operator
|
||||
name: kubernetes-operator
|
||||
description: A Helm chart for Kubernetes
|
||||
type: application
|
||||
version: 0.1.0
|
||||
@@ -0,0 +1,16 @@
|
||||
netbirdAPI:
|
||||
key: "nbp_1TpgsCUaF2BU3NVZfaDrGpoY1jx2iT2g7rWj"
|
||||
|
||||
operator:
|
||||
image:
|
||||
tag: "v0.1.0"
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
router:
|
||||
enabled: true
|
||||
policies:
|
||||
default:
|
||||
name: Kubernetes Default Policy
|
||||
sourceGroups:
|
||||
- All
|
||||
+19
-19
@@ -1,7 +1,7 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "netbird-operator.name" -}}
|
||||
{{- define "kubernetes-operator.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
@@ -10,7 +10,7 @@ Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "netbird-operator.fullname" -}}
|
||||
{{- define "kubernetes-operator.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
@@ -26,16 +26,16 @@ If release name contains chart name it will be used as a full name.
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "netbird-operator.chart" -}}
|
||||
{{- define "kubernetes-operator.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "netbird-operator.labels" -}}
|
||||
helm.sh/chart: {{ include "netbird-operator.chart" . }}
|
||||
{{ include "netbird-operator.selectorLabels" . }}
|
||||
{{- define "kubernetes-operator.labels" -}}
|
||||
helm.sh/chart: {{ include "kubernetes-operator.chart" . }}
|
||||
{{ include "kubernetes-operator.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
@@ -45,17 +45,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "netbird-operator.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "netbird-operator.name" . }}
|
||||
{{- define "kubernetes-operator.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "kubernetes-operator.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "netbird-operator.serviceAccountName" -}}
|
||||
{{- define "kubernetes-operator.serviceAccountName" -}}
|
||||
{{- if .Values.operator.serviceAccount.create }}
|
||||
{{- default (include "netbird-operator.fullname" .) .Values.operator.serviceAccount.name }}
|
||||
{{- default (include "kubernetes-operator.fullname" .) .Values.operator.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.operator.serviceAccount.name }}
|
||||
{{- end }}
|
||||
@@ -65,23 +65,23 @@ Create the name of the service account to use
|
||||
{{/*
|
||||
Create the name of the webhook service
|
||||
*/}}
|
||||
{{- define "netbird-operator.webhookService" -}}
|
||||
{{- printf "%s-webhook-service" (include "netbird-operator.fullname" .) -}}
|
||||
{{- define "kubernetes-operator.webhookService" -}}
|
||||
{{- printf "%s-webhook-service" (include "kubernetes-operator.fullname" .) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the webhook cert secret
|
||||
*/}}
|
||||
{{- define "netbird-operator.webhookCertSecret" -}}
|
||||
{{- printf "%s-tls" (include "netbird-operator.fullname" .) -}}
|
||||
{{- define "kubernetes-operator.webhookCertSecret" -}}
|
||||
{{- printf "%s-tls" (include "kubernetes-operator.fullname" .) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Generate certificates for webhook
|
||||
*/}}
|
||||
{{- define "netbird-operator.webhookCerts" -}}
|
||||
{{- $serviceName := (include "netbird-operator.webhookService" .) -}}
|
||||
{{- $secretName := (include "netbird-operator.webhookCertSecret" .) -}}
|
||||
{{- define "kubernetes-operator.webhookCerts" -}}
|
||||
{{- $serviceName := (include "kubernetes-operator.webhookService" .) -}}
|
||||
{{- $secretName := (include "kubernetes-operator.webhookCertSecret" .) -}}
|
||||
{{- $secret := lookup "v1" "Secret" .Release.Namespace $secretName -}}
|
||||
{{- if (and .Values.webhook.tls.caCert .Values.webhook.tls.cert .Values.webhook.tls.key) -}}
|
||||
caCert: {{ .Values.webhook.tls.caCert | b64enc }}
|
||||
@@ -93,8 +93,8 @@ clientCert: {{ index $secret.data "tls.crt" }}
|
||||
clientKey: {{ index $secret.data "tls.key" }}
|
||||
{{- else -}}
|
||||
{{- $altNames := list (printf "%s.%s" $serviceName .Release.Namespace) (printf "%s.%s.svc" $serviceName .Release.Namespace) (printf "%s.%s.svc.%s" $serviceName .Release.Namespace .Values.webhook.cluster.dnsDomain) -}}
|
||||
{{- $ca := genCA "netbird-operator-ca" 3650 -}}
|
||||
{{- $cert := genSignedCert (include "netbird-operator.fullname" .) nil $altNames 3650 $ca -}}
|
||||
{{- $ca := genCA "kubernetes-operator-ca" 3650 -}}
|
||||
{{- $cert := genSignedCert (include "kubernetes-operator.fullname" .) nil $altNames 3650 $ca -}}
|
||||
caCert: {{ $ca.Cert | b64enc }}
|
||||
clientCert: {{ $cert.Cert | b64enc }}
|
||||
clientKey: {{ $cert.Key | b64enc }}
|
||||
+6
-6
@@ -1,15 +1,15 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/component: operator
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.operator.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "netbird-operator.selectorLabels" . | nindent 6 }}
|
||||
{{- include "kubernetes-operator.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.operator.podAnnotations }}
|
||||
@@ -18,7 +18,7 @@ spec:
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/component: operator
|
||||
{{- include "netbird-operator.labels" . | nindent 8 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 8 }}
|
||||
{{- with .Values.operator.podLabels }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
@@ -27,7 +27,7 @@ spec:
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "netbird-operator.serviceAccountName" . }}
|
||||
serviceAccountName: {{ include "kubernetes-operator.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.operator.podSecurityContext | nindent 8 }}
|
||||
containers:
|
||||
@@ -85,7 +85,7 @@ spec:
|
||||
- name: webhook-certs
|
||||
secret:
|
||||
defaultMode: 420
|
||||
secretName: {{ template "netbird-operator.webhookCertSecret" . }}
|
||||
secretName: {{ template "kubernetes-operator.webhookCertSecret" . }}
|
||||
{{- with .Values.operator.volumes }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
+12
-12
@@ -1,9 +1,9 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- netbird.io
|
||||
@@ -49,24 +49,24 @@ rules:
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ include "netbird-operator.serviceAccountName" . }}
|
||||
name: {{ include "kubernetes-operator.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -103,14 +103,14 @@ rules:
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: {{ include "netbird-operator.fullname" . }}
|
||||
name: {{ include "kubernetes-operator.fullname" . }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ include "netbird-operator.serviceAccountName" . }}
|
||||
name: {{ include "kubernetes-operator.serviceAccountName" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
+6
-6
@@ -2,9 +2,9 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.fullname" . }}-metrics
|
||||
name: {{ include "kubernetes-operator.fullname" . }}-metrics
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.operator.metrics.type }}
|
||||
ports:
|
||||
@@ -13,15 +13,15 @@ spec:
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.operator.metrics.port }}
|
||||
selector:
|
||||
{{- include "netbird-operator.selectorLabels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.selectorLabels" . | nindent 4 }}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.webhookService" . }}
|
||||
name: {{ include "kubernetes-operator.webhookService" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.webhook.service.type }}
|
||||
ports:
|
||||
@@ -30,4 +30,4 @@ spec:
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.webhook.service.targetPort }}
|
||||
selector:
|
||||
{{- include "netbird-operator.selectorLabels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.selectorLabels" . | nindent 4 }}
|
||||
+2
-2
@@ -2,9 +2,9 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "netbird-operator.serviceAccountName" . }}
|
||||
name: {{ include "kubernetes-operator.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
{{- with .Values.operator.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
+20
-20
@@ -1,22 +1,22 @@
|
||||
{{ $tls := fromYaml ( include "netbird-operator.webhookCerts" . ) }}
|
||||
{{ $tls := fromYaml ( include "kubernetes-operator.webhookCerts" . ) }}
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: MutatingWebhookConfiguration
|
||||
metadata:
|
||||
{{- if $.Values.webhook.enableCertManager }}
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ template "netbird-operator.fullname" . }}-serving-cert
|
||||
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ template "kubernetes-operator.fullname" . }}-serving-cert
|
||||
{{- end }}
|
||||
name: {{ include "netbird-operator.fullname" . }}-mpod-webhook
|
||||
name: {{ include "kubernetes-operator.fullname" . }}-mpod-webhook
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
webhooks:
|
||||
- clientConfig:
|
||||
{{- if not $.Values.webhook.enableCertManager -}}
|
||||
caBundle: {{ $tls.caCert }}
|
||||
{{ end }}
|
||||
service:
|
||||
name: {{ template "netbird-operator.webhookService" . }}
|
||||
name: {{ template "kubernetes-operator.webhookService" . }}
|
||||
namespace: {{ $.Release.Namespace }}
|
||||
path: /mutate--v1-pod
|
||||
failurePolicy: Fail
|
||||
@@ -33,7 +33,7 @@ webhooks:
|
||||
- key: app.kubernetes.io/name
|
||||
operator: NotIn
|
||||
values:
|
||||
- {{ include "netbird-operator.name" . }}
|
||||
- {{ include "kubernetes-operator.name" . }}
|
||||
{{- if .Values.webhook.objectSelector.matchExpressions }}
|
||||
{{- toYaml .Values.webhook.objectSelector.matchExpressions | nindent 4 }}
|
||||
{{- end }}
|
||||
@@ -57,18 +57,18 @@ kind: ValidatingWebhookConfiguration
|
||||
metadata:
|
||||
{{- if $.Values.webhook.enableCertManager }}
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ template "netbird-operator.fullname" . }}-serving-cert
|
||||
cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ template "kubernetes-operator.fullname" . }}-serving-cert
|
||||
{{- end }}
|
||||
name: {{ include "netbird-operator.fullname" . }}-vnbsetupkey-webhook
|
||||
name: {{ include "kubernetes-operator.fullname" . }}-vnbsetupkey-webhook
|
||||
labels:
|
||||
{{- include "netbird-operator.labels" . | nindent 4 }}
|
||||
{{- include "kubernetes-operator.labels" . | nindent 4 }}
|
||||
webhooks:
|
||||
- clientConfig:
|
||||
{{- if not $.Values.webhook.enableCertManager -}}
|
||||
caBundle: {{ $tls.caCert }}
|
||||
{{ end }}
|
||||
service:
|
||||
name: {{ template "netbird-operator.webhookService" . }}
|
||||
name: {{ template "kubernetes-operator.webhookService" . }}
|
||||
namespace: {{ $.Release.Namespace }}
|
||||
path: /validate-netbird-io-v1-nbsetupkey
|
||||
failurePolicy: Fail
|
||||
@@ -96,10 +96,10 @@ webhooks:
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "netbird-operator.webhookCertSecret" . }}
|
||||
name: {{ template "kubernetes-operator.webhookCertSecret" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{ include "netbird-operator.labels" . | indent 4 }}
|
||||
{{ include "kubernetes-operator.labels" . | indent 4 }}
|
||||
type: kubernetes.io/tls
|
||||
data:
|
||||
ca.crt: {{ $tls.caCert }}
|
||||
@@ -109,26 +109,26 @@ data:
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ template "netbird-operator.fullname" . }}-serving-cert
|
||||
name: {{ template "kubernetes-operator.fullname" . }}-serving-cert
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{ include "netbird-operator.labels" . | indent 4 }}
|
||||
{{ include "kubernetes-operator.labels" . | indent 4 }}
|
||||
spec:
|
||||
dnsNames:
|
||||
- {{ template "netbird-operator.webhookService" . }}.{{ .Release.Namespace }}.svc
|
||||
- {{ template "netbird-operator.webhookService" . }}.{{ .Release.Namespace }}.svc.{{ .Values.webhook.cluster.dnsDomain }}
|
||||
- {{ template "kubernetes-operator.webhookService" . }}.{{ .Release.Namespace }}.svc
|
||||
- {{ template "kubernetes-operator.webhookService" . }}.{{ .Release.Namespace }}.svc.{{ .Values.webhook.cluster.dnsDomain }}
|
||||
issuerRef:
|
||||
kind: Issuer
|
||||
name: {{ template "netbird-operator.fullname" . }}-selfsigned-issuer
|
||||
secretName: {{ template "netbird-operator.webhookCertSecret" . }}
|
||||
name: {{ template "kubernetes-operator.fullname" . }}-selfsigned-issuer
|
||||
secretName: {{ template "kubernetes-operator.webhookCertSecret" . }}
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: {{ template "netbird-operator.fullname" . }}-selfsigned-issuer
|
||||
name: {{ template "kubernetes-operator.fullname" . }}-selfsigned-issuer
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{ include "netbird-operator.labels" . | indent 4 }}
|
||||
{{ include "kubernetes-operator.labels" . | indent 4 }}
|
||||
spec:
|
||||
selfSigned: {}
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user