Skip to content

Commit 2366ab8

Browse files
committed
Refactor uninstallation process
1 parent 4b98bf9 commit 2366ab8

31 files changed

+580
-721
lines changed

.github/workflows/helm.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
paths:
66
# update this file to trigger helm chart release
77
- 'helm/kubernetes-operator/Chart.yaml'
8+
- 'helm/netbird-operator-config/Chart.yaml'
89
branches:
910
- main
1011

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Docker
2+
3+
on:
4+
push:
5+
paths:
6+
- 'Dockerfile.kubectl'
7+
tags:
8+
- "v*"
9+
branches:
10+
- main
11+
pull_request:
12+
13+
jobs:
14+
kubectl-docker:
15+
runs-on: ubuntu-latest
16+
permissions:
17+
contents: read
18+
packages: write
19+
# This is used to complete the identity challenge
20+
# with sigstore/fulcio when running outside of PRs.
21+
id-token: write
22+
23+
steps:
24+
- name: Docker meta
25+
id: meta
26+
uses: docker/metadata-action@v5
27+
with:
28+
# list of Docker images to use as base name for tags
29+
images: |
30+
netbirdio/kubectl
31+
# generate Docker tags based on the following events/attributes
32+
tags: |
33+
type=ref,event=pr
34+
type=ref,event=branch
35+
type=semver,pattern={{version}}
36+
37+
- name: Login to Docker Hub
38+
if: github.repository == github.event.pull_request.head.repo.full_name || !github.head_ref
39+
uses: docker/login-action@v3
40+
with:
41+
username: ${{ secrets.DOCKER_USER }}
42+
password: ${{ secrets.DOCKER_TOKEN }}
43+
44+
- name: Set up QEMU
45+
uses: docker/setup-qemu-action@v3
46+
47+
- name: Set up Docker Buildx
48+
uses: docker/setup-buildx-action@v3
49+
50+
- name: Build and push
51+
uses: docker/build-push-action@v6
52+
with:
53+
platforms: linux/amd64,linux/arm64
54+
push: true
55+
tags: ${{ steps.meta.outputs.tags }}
56+
file: "Dockerfile.kubectl"
57+
labels: |
58+
"org.opencontainers.image.created={{.Date}}"
59+
"org.opencontainers.image.title={{.ProjectName}}"
60+
"org.opencontainers.image.version={{.Version}}"
61+
"org.opencontainers.image.revision={{.FullCommit}}"
62+
"org.opencontainers.image.version={{.Version}}"
63+

Dockerfile.kubectl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM alpine:3 AS builder
2+
3+
RUN apk update && apk add curl
4+
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \
5+
chmod +x kubectl && \
6+
mv kubectl /usr/local/bin/kubectl
7+
8+
FROM alpine:3 AS final
9+
10+
COPY --from=builder /usr/local/bin/kubectl /usr/local/bin/kubectl

cmd/main.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -294,16 +294,6 @@ func main() {
294294
}
295295

296296
if enableWebhooks {
297-
if err = webhooknetbirdiov1.SetupNBResourceWebhookWithManager(mgr); err != nil {
298-
setupLog.Error(err, "unable to create webhook", "webhook", "NBResource")
299-
os.Exit(1)
300-
}
301-
302-
if err = webhooknetbirdiov1.SetupNBRoutingPeerWebhookWithManager(mgr); err != nil {
303-
setupLog.Error(err, "unable to create webhook", "webhook", "NBRoutingPeer")
304-
os.Exit(1)
305-
}
306-
307297
if err = webhooknetbirdiov1.SetupNBGroupWebhookWithManager(mgr); err != nil {
308298
setupLog.Error(err, "unable to create webhook", "webhook", "NBGroup")
309299
os.Exit(1)

examples/ingress/values.yaml renamed to examples/ingress/values-kubernetes-operator.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@
33
# tag: "0.1.0"
44
ingress:
55
enabled: true
6-
router:
7-
enabled: true
8-
# policies:
9-
# default:
10-
# name: Kubernetes Default Policy
11-
# sourceGroups:
12-
# - All
136

147
netbirdAPI:
158
# Replace with valid NetBird Service Account token (PAT)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
router:
2+
enabled: true
3+
policies:
4+
default:
5+
name: Kubernetes Default Policy
6+
sourceGroups:
7+
- All

helm/kubernetes-operator/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: kubernetes-operator
33
description: NetBird Kubernetes Operator
44
type: application
5-
version: 0.1.13
6-
appVersion: "0.1.4"
5+
version: 0.2.0
6+
appVersion: "0.2.0"

helm/kubernetes-operator/templates/kubernetes-nbresource.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ spec:
2727
spec:
2828
initContainers:
2929
- name: wait-network-ready
30-
image: "bitnami/kubectl:latest"
30+
image: "netbirdio/kubectl:latest"
3131
command:
3232
- bash
3333
- -c
3434
args:
3535
- kubectl wait --for 'jsonpath={.status.networkID}' -n {{ $routerNS }} nbroutingpeer router;
3636
containers:
3737
- name: apply-nbresource
38-
image: "bitnami/kubectl:latest"
38+
image: "netbirdio/kubectl:latest"
3939
env:
4040
- name: NBRESOURCE_VALUE
4141
value: |

helm/kubernetes-operator/templates/nbpolicies.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ metadata:
88
labels:
99
app.kubernetes.io/component: operator
1010
{{- include "kubernetes-operator.labels" $ | nindent 4 }}
11+
annotations:
12+
helm.sh/resource-policy: keep
1113
name: {{ $k }}
1214
spec:
1315
name: {{ $v.name }}

helm/kubernetes-operator/templates/nbroutingpeers.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ metadata:
1010
labels:
1111
app.kubernetes.io/component: operator
1212
{{- include "kubernetes-operator.labels" $ | nindent 4 }}
13+
annotations:
14+
helm.sh/resource-policy: keep
1315
name: router
1416
namespace: {{ $k }}
1517
{{ $spec := merge $defaults $v }}
@@ -51,6 +53,8 @@ metadata:
5153
labels:
5254
app.kubernetes.io/component: operator
5355
{{- include "kubernetes-operator.labels" $ | nindent 4 }}
56+
annotations:
57+
helm.sh/resource-policy: keep
5458
name: router
5559
{{- if or (or (or .replicas .resources) (or .labels .annotations)) (or .nodeSelector .tolerations) }}
5660
spec:

0 commit comments

Comments
 (0)