container-images/.gitea/workflows/telegraf-snmp.yaml
dresi d816c63926
All checks were successful
Build and push telegraf-snmp image / build-and-push-image (push) Successful in 2m25s
fix: install Harbor CA cert on ubuntu runner before build
2026-06-11 08:03:21 +02:00

62 lines
2.2 KiB
YAML

name: Build and push telegraf-snmp image
run-name: ${{ gitea.actor }} is building and pushing telegraf-snmp image
on:
push:
paths:
- 'telegraf-snmp/**'
- '.gitea/workflows/telegraf-snmp.yaml'
env:
RESULT_IMAGE_NAME: tools/telegraf-snmp
jobs:
build-and-push-image:
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Log in to registry
uses: docker/login-action@v3
with:
registry: ${{ vars.PRIVATE_REGISTRY_DOMAIN }}
username: ${{ vars.PRIVATE_REGISTRY_USER }}
password: ${{ secrets.PRIVATE_REGISTRY_PASSWORD }}
- name: Install Harbor CA certificate
run: |
sudo cp buildkit/ca-chain.crt /usr/local/share/ca-certificates/harbor-ca.crt
sudo update-ca-certificates
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver-opts: image=harbor.lan/tools/buildkit-with-ca:latest
- name: Debug TLS in BuildKit
run: |
BUILDER=$(docker ps --filter "name=buildx_buildkit" --format "{{.Names}}" | head -1)
echo "=== Builder: $BUILDER ==="
docker exec "$BUILDER" sh -c '
echo "=== Certs in ca-certificates.crt ==="
grep -c "BEGIN CERTIFICATE" /etc/ssl/certs/ca-certificates.crt 2>/dev/null || echo "not found"
echo "=== /etc/ssl/cert.pem ==="
ls -la /etc/ssl/cert.pem 2>/dev/null || echo "not found"
grep -c "BEGIN CERTIFICATE" /etc/ssl/cert.pem 2>/dev/null || echo "not found"
echo "=== TLS test harbor.lan ==="
wget -qO /dev/null https://harbor.lan/ 2>&1 && echo "TLS OK" || echo "TLS FAILED"
echo "=== TLS test token endpoint ==="
wget -qO /dev/null https://harbor.lan/service/token 2>&1 && echo "TLS OK" || echo "TLS FAILED"
'
- name: Build and push image
uses: docker/build-push-action@v6
with:
context: telegraf-snmp
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ vars.PRIVATE_REGISTRY_DOMAIN }}/${{ env.RESULT_IMAGE_NAME }}:latest