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 +