test ci 2
This commit is contained in:
50
.woodpecker.yml
Normal file
50
.woodpecker.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
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
|
||||
|
||||
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"
|
||||
|
||||
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 -
|
||||
|
||||
deploy:
|
||||
image: quay.io/wollud1969/k8s-admin-helper:0.3.4
|
||||
environment:
|
||||
KUBE_CONFIG_CONTENT:
|
||||
from_secret: kube_config
|
||||
NAMESPACE: "homea2"
|
||||
IMAGE: "${FORGE_NAME}/${CI_REPO}:${CI_COMMIT_TAG}"
|
||||
commands:
|
||||
- printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig
|
||||
- export KUBECONFIG=/tmp/kubeconfig
|
||||
- cat deployment/install-yml.tmpl | sed "s,%IMAGE%,$IMAGE,g" | kubectl apply -n $NAMESPACE -f -
|
||||
@@ -1,19 +0,0 @@
|
||||
#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
|
||||
@@ -1,22 +0,0 @@
|
||||
# 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
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# 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"
|
||||
|
||||
37
Dockerfile
37
Dockerfile
@@ -1,36 +1,25 @@
|
||||
FROM python:latest
|
||||
FROM python:3.14-alpine
|
||||
|
||||
LABEL Maintainer="Wolfgang Hottgenroth wolfgang.hottgenroth@icloud.com"
|
||||
LABEL ImageName="registry.hottis.de/dockerized/pv-controller"
|
||||
LABEL HubImageName="wollud1969/pv-controller"
|
||||
LABEL HubImageName="wn/pv-controller"
|
||||
|
||||
ARG APP_DIR="/opt/app"
|
||||
ARG APP_USER="app"
|
||||
ENV CFG_FILE ""
|
||||
|
||||
|
||||
ENV MQTT__BROKER ""
|
||||
ENV MQTT__PORT "1883"
|
||||
ENV MQTT__METERPUBLISHTOPIC "IoT/PV/Values"
|
||||
ENV MQTT__METERPUBLISHPERIOD "15"
|
||||
ENV MQTT__RELAISSUBSCRIBETOPIC "IoT/PV/Cmd"
|
||||
ENV MODBUS__GATEWAY ""
|
||||
|
||||
RUN \
|
||||
apt update && \
|
||||
pip3 install loguru && \
|
||||
pip3 install pymodbus && \
|
||||
pip3 install paho-mqtt
|
||||
|
||||
RUN \
|
||||
mkdir -p ${APP_DIR} && \
|
||||
useradd -d ${APP_DIR} -u 1000 user
|
||||
|
||||
COPY ./src/pv_controller/*.py ${APP_DIR}/
|
||||
|
||||
USER 1000:1000
|
||||
WORKDIR ${APP_DIR}
|
||||
|
||||
|
||||
CMD [ "python", "pvc.py" ]
|
||||
|
||||
COPY ./src/pv_controller/requirements.txt requirements.txt
|
||||
COPY ./src/pv_controller/*.py ${APP_DIR}/
|
||||
|
||||
RUN addgroup -g 10001 -S ${APP_USER} && \
|
||||
adduser -u 10001 -S ${APP_USER} -G ${APP_USER} && \
|
||||
pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
USER ${APP_USER}
|
||||
|
||||
CMD ["python", "pvc.py"]
|
||||
|
||||
|
||||
@@ -21,3 +21,14 @@ spec:
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: pv-controller
|
||||
env:
|
||||
- name: CFG_FILE
|
||||
value: /config/config.yaml
|
||||
volumeMounts:
|
||||
- name: pv-controller-config
|
||||
mountPath: /config/config.yaml
|
||||
subPath: config.yaml
|
||||
volumes:
|
||||
- name: pv-controller-config
|
||||
configMap:
|
||||
name: pv-controller-config
|
||||
|
||||
Reference in New Issue
Block a user