From cf4c3d9ed0cf6b9cddbc1ae8a6e6f21125df09d9 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Thu, 25 Jan 2024 14:31:06 +0100 Subject: [PATCH] ci script --- .woodpecker.yml | 5 ++--- {src/smq => deployment}/config.json | 0 deployment/deploy-yml.tmpl | 25 +++++++++++++++++++++ deployment/deploy.sh | 34 +++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 3 deletions(-) rename {src/smq => deployment}/config.json (100%) create mode 100644 deployment/deploy-yml.tmpl create mode 100755 deployment/deploy.sh diff --git a/.woodpecker.yml b/.woodpecker.yml index e291e7c..60dbd1e 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -19,11 +19,10 @@ steps: secrets: - source: kube_config target: KUBE_CONFIG_CONTENT - - source: image_name - target: IMAGE_NAME commands: + - export IMAGE_TAG=$CI_COMMIT_TAG - printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig - export KUBECONFIG=/tmp/kubeconfig - - cat $CI_WORKSPACE/deployment/deploy-yml.tmpl | sed -e 's,%IMAGE%,'$IMAGE_NAME':'$CI_COMMIT_TAG',' | kubectl apply -f - + - ./deployment/deploy.sh when: - event: tag diff --git a/src/smq/config.json b/deployment/config.json similarity index 100% rename from src/smq/config.json rename to deployment/config.json diff --git a/deployment/deploy-yml.tmpl b/deployment/deploy-yml.tmpl new file mode 100644 index 0000000..41f1d23 --- /dev/null +++ b/deployment/deploy-yml.tmpl @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snmp-mqtt + namespace: homea + labels: + app: snmp-nmqtt +spec: + replicas: 1 + selector: + matchLabels: + app: snmp-nmqtt + template: + metadata: + labels: + app: snmp-nmqtt + spec: + containers: + - name: snmp-nmqtt + image: %IMAGE% + envFrom: + - configMapRef: + name: snmp-mqtt-conf + + diff --git a/deployment/deploy.sh b/deployment/deploy.sh new file mode 100755 index 0000000..4e325b5 --- /dev/null +++ b/deployment/deploy.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +if [ "$IMAGE_TAG" == "" ]; then + echo "Make sure IMAGE_TAG is set" + exit 1 +fi + + +IMAGE_NAME=gitea.hottis.de/wn/snmp-mqtt +NAMESPACE=homea +DEPLOYMENT_DIR=$PWD/deployment +CONFIG_FILE=config.json + +pushd $DEPLOYMENT_DIR > /dev/null + +kubectl create namespace $NAMESPACE \ + --dry-run=client \ + -o yaml | \ + kubectl -f - apply + +kubectl create configmap snmp-mqtt-conf \ + --from-literal=SNMP_MQTT_CONF="`cat $CONFIG_FILE`" \ + --dry-run=client \ + -o yaml \ + --save-config | \ + kubectl apply -f - -n $NAMESPACE + + +cat $DEPLOYMENT_DIR/deploy-yml.tmpl | \ + sed -e 's,%IMAGE%,'$IMAGE_NAME':'$IMAGE_TAG','g | \ + kubectl apply -f - -n $NAMESPACE + +popd > /dev/null +