diff --git a/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index 2e80e27..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,29 +0,0 @@ -steps: - build: - image: plugins/kaniko - settings: - repo: gitea.hottis.de/wn/pv-controller - registry: - from_secret: container_registry - tags: latest,${CI_COMMIT_TAG} - username: - from_secret: container_registry_username - password: - from_secret: container_registry_password - dockerfile: Dockerfile - when: - - event: tag - - deploy: - image: portainer/kubectl-shell:latest - secrets: - - source: kube_config - target: KUBE_CONFIG_CONTENT - commands: - - export IMAGE_TAG=$CI_COMMIT_TAG - - printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig - - export KUBECONFIG=/tmp/kubeconfig - - cat ./deployment/install-yml.tmpl | sed -e 's,%IMAGETAG%,'$IMAGE_TAG','g | kubectl apply -f - - when: - - event: tag - diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml new file mode 100644 index 0000000..8573b35 --- /dev/null +++ b/.woodpecker/build.yml @@ -0,0 +1,19 @@ +when: + event: [tag] + ref: + exclude: + - refs/tags/*-configchange + +steps: + build: + image: plugins/kaniko + settings: + registry: + from_secret: local_registry + username: + from_secret: local_username + password: + from_secret: local_password + repo: ${FORGE_NAME}/${CI_REPO} + auto_tag: true + dockerfile: Dockerfile diff --git a/.woodpecker/config.yml b/.woodpecker/config.yml new file mode 100644 index 0000000..a4a86a0 --- /dev/null +++ b/.woodpecker/config.yml @@ -0,0 +1,22 @@ +when: + event: [tag] + +depends_on: + - namespace + +steps: + apply_configuration: + image: quay.io/wollud1969/k8s-admin-helper:0.3.4 + environment: + KUBE_CONFIG_CONTENT: + from_secret: kube_config + NAMESPACE: "homea-ctrl-1" + commands: + - printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig + - export KUBECONFIG=/tmp/kubeconfig + - kubectl create configmap pv-controller-config + --from-file=config.yaml=config/config.yaml + --namespace=$NAMESPACE + --dry-run=client -o yaml | kubectl apply -f - + - kubectl apply -f deployment/configmap.yaml -n $NAMESPACE + diff --git a/.woodpecker/namespace.yml b/.woodpecker/namespace.yml new file mode 100644 index 0000000..4f0f3b6 --- /dev/null +++ b/.woodpecker/namespace.yml @@ -0,0 +1,15 @@ +when: + event: [tag] + +steps: + create_namespace: + image: quay.io/wollud1969/k8s-admin-helper:0.3.4 + environment: + KUBE_CONFIG_CONTENT: + from_secret: kube_config + NAMESPACE: "homea-ctrl-1" + commands: + - printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig + - export KUBECONFIG=/tmp/kubeconfig + - kubectl create namespace $NAMESPACE || echo "Namespace $NAMESPACE already exists" + diff --git a/deployment/install-yml.tmpl b/deployment/install-yml.tmpl index dd91cdf..677408e 100644 --- a/deployment/install-yml.tmpl +++ b/deployment/install-yml.tmpl @@ -1,21 +1,3 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: homea ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: pv-controller - namespace: homea -data: - MQTT__BROKER: "emqx01-anonymous-cluster-internal.broker.svc.cluster.local" - MQTT__PORT: "1883" - MQTT__METERPUBLISHTOPIC: "IoT/PV/Values" - MQTT__METERPUBLISHPERIOD: "15" - MQTT__RELAISSUBSCRIBETOPIC: "IoT/PV/Cmd" - MODBUS__GATEWAY: "172.16.2.42" ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -35,7 +17,7 @@ spec: spec: containers: - name: pv-controller - image: gitea.hottis.de/wn/pv-controller:%IMAGETAG% + image: %IMAGE envFrom: - configMapRef: name: pv-controller