Skip to content

Commit 9683d25

Browse files
authored
Cleanup local dev setup + docs (#520)
* Remove deprecated charts * Refactor * Update github actions * Fix some docs * Simplify action * " * Refactor action
1 parent 8ac877b commit 9683d25

29 files changed

+76
-1867
lines changed

.github/workflows/latest.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
uses: actions/checkout@v2
1414

1515
- name: Docker Login
16-
uses: docker/login-action@v1
16+
uses: docker/login-action@v3
1717
with:
1818
registry: ${{ secrets.DOCKER_REGISTRY }}
1919
username: ${{ secrets.DOCKER_REGISTRY_USER }}

.github/workflows/pull_request.yaml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ on:
88
jobs:
99
build:
1010
runs-on: ubuntu-latest
11+
env:
12+
docker_registry_token: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
1113
steps:
1214
- name: Checkout
1315
uses: actions/checkout@v2
@@ -24,7 +26,7 @@ jobs:
2426

2527
- name: Get Kubebuilder Version
2628
id: get-kubebuilder-version
27-
run: echo "::set-output name=version::$(make kubebuilder-version-ci)"
29+
run: echo "version=$(make kubebuilder-version-ci)" >> $GITHUB_OUTPUT
2830
shell: bash
2931

3032
- name: Ensure etcd
@@ -54,17 +56,13 @@ jobs:
5456
- name: Run tests
5557
run: make test
5658

57-
- name: Figure out if running fork PR
58-
id: fork
59-
run: '["${{ secrets.DOCKER_REGISTRY_TOKEN }}" == ""] && echo "::set-output name=is_fork_pr::true" || echo "::set-output name=is_fork_pr::false"'
60-
6159
- name: Docker Login
62-
uses: docker/login-action@v1
60+
uses: docker/login-action@v3
6361
with:
6462
registry: ${{ secrets.DOCKER_REGISTRY }}
6563
username: ${{ secrets.DOCKER_REGISTRY_USER }}
6664
password: ${{ secrets.DOCKER_REGISTRY_TOKEN }}
67-
if: steps.fork.outputs.is_fork_pr == 'false'
65+
if: ${{ env.docker_registry_token != '' }}
6866

6967
- name: Build Docker image
7068
run: |
@@ -76,4 +74,4 @@ jobs:
7674
# pull request images are prefixed with 'pr' to prevent them from overriding released images
7775
export DOCKER_TAG=pr-$(echo ${GITHUB_HEAD_REF} | tr '/' '-')
7876
make docker-push
79-
if: steps.fork.outputs.is_fork_pr == 'false'
77+
if: ${{ env.docker_registry_token != '' }}

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
uses: actions/checkout@v2
1414

1515
- name: Docker Login
16-
uses: docker/login-action@v1
16+
uses: docker/login-action@v3
1717
with:
1818
registry: ${{ secrets.DOCKER_REGISTRY }}
1919
username: ${{ secrets.DOCKER_REGISTRY_USER }}

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ bin
2424
*~
2525

2626
# control-plane kubeconfig file
27-
*kubeconfig
27+
kubeconfig
28+
kubeconfig-ctrl
29+
kubeconfig-svc
2830

2931
# helm files
3032
charts/postgreslet/Chart.lock

Makefile

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ run: generate fmt vet manifests install-configmap-sidecars install-crd-cwnp
5353
-port-range-size 8000
5454

5555
# Install CRDs into a cluster
56-
install: manifests
57-
kubectl kustomize config/crd | kubectl --kubeconfig kubeconfig apply -f -
56+
localkube-install-crd: manifests
57+
kubectl kustomize config/crd | kubectl --kubeconfig kubeconfig-ctrl apply -f -
5858

59-
# Uninstall CRDs from a cluster
60-
uninstall: manifests
61-
kubectl kustomize config/crd | kubectl --kubeconfig kubeconfig delete -f -
59+
# # Uninstall CRDs from a cluster
60+
# localkube-uninstall: manifests
61+
# kubectl kustomize config/crd | kubectl --kubeconfig kubeconfig-ctrl delete -f -
6262

6363
# Deploy controller in the configured Kubernetes cluster in ~/.kube/config
64-
deploy: install-crd-cwnp manifests secret kind-load-image
64+
deploy: install-crd-cwnp manifests secret localkube-load-image
6565
cd config/manager && kubectl kustomize edit set image controller=${IMG}:${VERSION}
6666
kubectl kustomize config/default | kubectl apply -f -
6767

@@ -106,8 +106,8 @@ cacheobjs: cacheobjs-daily-base
106106
docker-push:
107107
docker push ${IMG}:${VERSION}
108108

109-
kind-load-image: cacheobjs
110-
kind load docker-image ${IMG}:${VERSION} -v 1
109+
localkube-load-image: cacheobjs
110+
kind load docker-image --name svc ${IMG}:${VERSION} -v 1
111111

112112
# find or download controller-gen
113113
# download controller-gen if necessary
@@ -146,8 +146,8 @@ svc-postgres-operator-yaml:
146146
-f $(POSTGRES_OPERATOR_URL)/api-service.yaml \
147147
--dry-run=client -o yaml > external/svc-postgres-operator.yaml
148148

149-
crd-postgresql-yaml:
150-
kubectl apply -f $(POSTGRES_CRD_URL) --dry-run=client -o yaml > external/crd-postgresql.yaml
149+
# crd-postgresql-yaml:
150+
# kubectl apply -f $(POSTGRES_CRD_URL) --dry-run=client -o yaml > external/crd-postgresql.yaml
151151

152152
secret:
153153
@{ \
@@ -160,38 +160,30 @@ secret:
160160
kubectl create secret generic postgreslet -n $$NS --from-file $$SECRET_DIR/ --dry-run=client -o yaml | kubectl apply -f - ;\
161161
}
162162

163-
create-postgres:
164-
kubectl create ns metal-extension-cloud --dry-run=client --save-config -o yaml | kubectl --kubeconfig kubeconfig apply -f -
165-
kubectl --kubeconfig kubeconfig apply -f config/samples/complete.yaml
163+
localkube-create-postgres:
164+
kubectl create ns metal-extension-cloud --dry-run=client --save-config -o yaml | kubectl --kubeconfig kubeconfig-ctrl apply -f -
165+
kubectl --kubeconfig kubeconfig-ctrl apply -f config/samples/complete.yaml
166166

167-
delete-postgres:
168-
kubectl --kubeconfig kubeconfig delete -f config/samples/complete.yaml
169-
170-
helm-clean:
171-
rm -f charts/postgreslet/Chart.lock
172-
rm -f charts/postgreslet/charts/*
173-
174-
helm:
175-
helm dependency build charts/postgreslet/
176-
helm package charts/postgreslet/
167+
localkube-delete-postgres:
168+
kubectl --kubeconfig kubeconfig-ctrl delete -f config/samples/complete.yaml
177169

178170
test-cwnp:
179171
./hack/test-cwnp.sh
180172

181-
install-crd-cwnp:
182-
kubectl apply -f https://raw.githubusercontent.com/metal-stack/firewall-controller/master/config/crd/bases/metal-stack.io_clusterwidenetworkpolicies.yaml
183-
kubectl create ns firewall --dry-run=client --save-config -o yaml | kubectl apply -f -
173+
localkube-install-crd-cwnp:
174+
kubectl apply --kubeconfig ./kubeconfig-svc -f https://raw.githubusercontent.com/metal-stack/firewall-controller/master/config/crd/bases/metal-stack.io_clusterwidenetworkpolicies.yaml
175+
kubectl create ns firewall --kubeconfig ./kubeconfig-svc --dry-run=client --save-config -o yaml | kubectl apply --kubeconfig ./kubeconfig-svc -f -
184176

185-
uninstall-crd-cwnp:
186-
kubectl delete ns firewall
187-
kubectl delete -f https://raw.githubusercontent.com/metal-stack/firewall-controller/master/config/crd/bases/metal-stack.io_clusterwidenetworkpolicies.yaml
177+
# localkube-uninstall-crd-cwnp:
178+
# kubectl delete ns firewall
179+
# kubectl delete -f https://raw.githubusercontent.com/metal-stack/firewall-controller/master/config/crd/bases/metal-stack.io_clusterwidenetworkpolicies.yaml
188180

189-
configmap-sidecars:
190-
helm template postgreslet --namespace postgreslet-system charts/postgreslet --show-only templates/configmap-sidecars.yaml > external/test/configmap-sidecars.yaml
181+
# configmap-sidecars:
182+
# helm template postgreslet --namespace postgreslet-system charts/postgreslet --show-only templates/configmap-sidecars.yaml > external/test/configmap-sidecars.yaml
191183

192-
install-configmap-sidecars:
193-
kubectl create ns postgreslet-system --dry-run=client --save-config -o yaml | kubectl apply -f -
194-
kubectl apply -f external/test/configmap-sidecars.yaml
184+
# install-configmap-sidecars:
185+
# kubectl create ns postgreslet-system --dry-run=client --save-config -o yaml | kubectl apply -f -
186+
# kubectl apply -f external/test/configmap-sidecars.yaml
195187

196188
# Todo: Add release version when the changes in main branch are released
197189
crd-cwnp-for-testing:
@@ -213,43 +205,51 @@ endif
213205
kubebuilder-version-ci:
214206
@echo ${KUBEBUILDER_VERSION}
215207

216-
two-kind-clusters:
208+
localkube-setup:
209+
################################################################################
210+
# #
211+
# Control Cluster #
212+
# #
213+
################################################################################
217214
#
218-
## control-plane-cluster
219-
########################
220-
kind create cluster --name ctrl --kubeconfig ./kubeconfig --image kindest/node:v1.24.15
221-
container_ip=$$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 'ctrl-control-plane') ;\
222-
kubectl --kubeconfig=kubeconfig config set-cluster 'kind-ctrl' --server="https://$${container_ip}:6443"
223-
make install
224-
make create-postgres
215+
make localkube-ctrl
225216
#
226-
## service-cluster
227-
########################
228-
kind create cluster --image kindest/node:v1.24.15
229-
sed 's/z.Spec.Volume.StorageClass/\/\/z.Spec.Volume.StorageClass/' -i api/v1/postgres_types.go
230-
make kind-load-image
231-
sed 's/\/\/z.Spec.Volume.StorageClass/z.Spec.Volume.StorageClass/' -i api/v1/postgres_types.go
232-
kubectl create ns postgreslet-system --dry-run=client --save-config -o yaml | kubectl apply -f -
233-
make install-crd-cwnp
234-
make install-crd-servicemonitor
235-
# helm repo add metal-stack https://helm.metal-stack.io # stable repo
236-
# helm upgrade --install postgreslet metal-stack/postgreslet --namespace postgreslet-system --values svc-cluster-values.yaml --set-file controlplaneKubeconfig=kubeconfig
237-
helm repo add metal-stack-30 https://helm.metal-stack.io/pull_requests/custom-operator-image # PR repo
238-
helm upgrade --install postgreslet metal-stack-30/postgreslet --namespace postgreslet-system --values svc-cluster-values.yaml --set-file controlplaneKubeconfig=kubeconfig
217+
################################################################################
218+
# #
219+
# Service Cluster #
220+
# #
221+
################################################################################
222+
#
223+
make localkube-svc
239224

240-
destroy-two-kind-clusters:
225+
localkube-ctrl:
226+
kind create cluster --name ctrl --kubeconfig ./kubeconfig-ctrl --image kindest/node:v1.24.15
227+
container_ip=$$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 'ctrl-control-plane') ;\
228+
kubectl --kubeconfig=kubeconfig-ctrl config set-cluster 'kind-ctrl' --server="https://$${container_ip}:6443"
229+
make localkube-install-crd
230+
make localkube-create-postgres
231+
232+
localkube-svc:
233+
kind create cluster --name svc --kubeconfig ./kubeconfig-svc --image kindest/node:v1.24.15
234+
# make localkube-load-image
235+
kubectl create ns postgreslet-system --dry-run=client --save-config -o yaml --kubeconfig ./kubeconfig-svc | kubectl apply --kubeconfig ./kubeconfig-svc -f -
236+
make localkube-install-crd-cwnp
237+
make localkube-install-crd-servicemonitor
238+
make localkube-reinstall-postgreslet
239+
240+
localkube-teardown:
241241
kind delete cluster --name ctrl
242-
kind delete cluster --name kind
242+
kind delete cluster --name svc
243243

244-
install-crd-servicemonitor:
245-
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.45.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
246-
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.45.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
244+
localkube-install-crd-servicemonitor:
245+
kubectl apply --kubeconfig ./kubeconfig-svc -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.45.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
246+
kubectl apply --kubeconfig ./kubeconfig-svc -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.45.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
247247

248-
reinstall-postgreslet: kind-load-image
248+
localkube-reinstall-postgreslet: localkube-load-image
249249
# helm repo add metal-stack https://helm.metal-stack.io # stable repo
250250
# helm upgrade --install postgreslet metal-stack/postgreslet --namespace postgreslet-system --values svc-cluster-values.yaml --set-file controlplaneKubeconfig=kubeconfig
251251
helm repo add metal-stack-30 https://helm.metal-stack.io/pull_requests/custom-operator-image # PR repo
252-
helm upgrade --install postgreslet metal-stack-30/postgreslet --namespace postgreslet-system --values svc-cluster-values.yaml --set-file controlplaneKubeconfig=kubeconfig
252+
helm upgrade --install postgreslet metal-stack-30/postgreslet --namespace postgreslet-system --values svc-cluster-values.yaml --set-file controlplaneKubeconfig=kubeconfig-ctrl --kubeconfig ./kubeconfig-svc
253253

254254
lint:
255255
golangci-lint run -p bugs -p unused --timeout=5m

charts/postgreslet-support/.helmignore

Lines changed: 0 additions & 23 deletions
This file was deleted.

charts/postgreslet-support/Chart.yaml

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)