act-runners/kubectl: image revision
act-fatboy.yml / build-container-image (push) Successful in 1m44s
act-runner-fatboy-deploy.yml / build-container-image (push) Successful in 18s
act-runner-kubectl.yml / build-container-image (push) Successful in 25s

This commit is contained in:
Márcio Fernandes
2026-09-03 23:45:01 +01:00
parent d399d6118a
commit 2344564ed4
6 changed files with 167 additions and 13 deletions
@@ -21,6 +21,6 @@ jobs:
registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }} registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }}
registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }} registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }}
buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }} buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }}
context: ${{gitea.workspace}}/act-runners/kubectl-mini context: ${{gitea.workspace}}/act-runners/kubectl
dockerfile: ${{gitea.workspace}}/act-runners/kubectl-mini dockerfile: ${{gitea.workspace}}/act-runners/kubectl
tags: oci.limbosolutions.com/public/act-runners/kubectl-mini:3.0.2 tags: oci.limbosolutions.com/public/act-runners/kubectl:3.0.2
+85 -2
View File
@@ -4,9 +4,10 @@
- [Backup And Restore](#backup-and-restore) - [Backup And Restore](#backup-and-restore)
- [Gitea dump from docker host](#gitea-dump-from-docker-host) - [Gitea dump from docker host](#gitea-dump-from-docker-host)
- [nginx](#nginx) - [nginx](#nginx)
- [act runner](#act-runner) - [Gitea Runner Environment Variables](#gitea-runner-environment-variables)
- [act runner (Official)](#act-runner-official) - [act runner (Official)](#act-runner-official)
- [Docker Compose](#docker-compose) - [Docker Compose](#docker-compose)
- [custom act runner - kubectl-mini](#custom-act-runner---kubectl-mini)
- [custom act runner - network-stack](#custom-act-runner---network-stack) - [custom act runner - network-stack](#custom-act-runner---network-stack)
- [workflows - actions](#workflows---actions) - [workflows - actions](#workflows---actions)
- [Other References](#other-references) - [Other References](#other-references)
@@ -54,7 +55,50 @@ sudo docker exec -u git -it -w /tmp gitea bash -c '/app/gitea/gitea dump -d post
} }
``` ```
## act runner ## Gitea Runner Environment Variables
**Registration Variables:**
Used when running `gitea-runner register`.
- GITEA_INSTANCE_URL
- GITEA_RUNNER_REGISTRATION_TOKEN
- GITEA_RUNNER_NAME
- GITEA_RUNNER_LABELS
- GITEA_RUNNER_CONFIG_FILE
**Daemon / Runtime Variables:**
Used when running `gitea-runner daemon`.
- GITEA_RUNNER_CONFIG_FILE
**3. Cache Server Variables:**
Used when running the internal cache server.
- GITEA_RUNNER_CACHE_SERVER_PORT
- GITEA_RUNNER_CACHE_SERVER_ADDRESS
- GITEA_RUNNER_CACHE_SERVER_DIR
**Local Execution (`exec`) Variables:**
Used when running workflows locally with `gitea-runner exec`.
- GITEA_RUNNER_EXEC_WORKDIR
- GITEA_RUNNER_EXEC_ENV_FILE
- GITEA_RUNNER_EXEC_SECRET_FILE
**Advanced / Debugging Variables:**
Low-level runtime toggles.
- GITEA_RUNNER_DEBUG
- GITEA_RUNNER_TRACE
- GITEA_RUNNER_LOG_FORMAT # text or json
- GITEA_RUNNER_LOG_FILE
- GITEA_RUNNER_DISABLE_NETWORK
- GITEA_RUNNER_DISABLE_DOCKER
- GITEA_RUNNER_DISABLE_SHELL
### act runner (Official) ### act runner (Official)
@@ -83,6 +127,45 @@ sudo docker exec -u git -it -w /tmp gitea bash -c '/app/gitea/gitea dump -d post
- GITEA_RUNNER_REGISTRATION_TOKEN=<registration token> - GITEA_RUNNER_REGISTRATION_TOKEN=<registration token>
``` ```
### custom act runner - kubectl-mini
``` bash
docker pull oci.limbosolutions.com/public/act-runners/kubectl:3.0.2
```
**Docker Compose example:**
``` yaml
services:
act-runner:
image: oci.limbosolutions.com/public/act-runners/kubectl:3.0.2
container_name: act-runner-kubectl
restart: unless-stopped
configs:
- source: runner_config
target: "etc/act_runner/config.yaml"
environment:
GITEA_INSTANCE_URL: "${GITEA_INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}"
volumes:
act-runner-config:
configs:
runner_config:
content: |
log:
level: info
runner:
capacity: 1
labels:
- linux
- kubectl
cache:
enabled: false
```
### custom act runner - network-stack ### custom act runner - network-stack
**🚀 Purpose** **🚀 Purpose**
+1
View File
@@ -0,0 +1 @@
.env
@@ -4,7 +4,7 @@ ARG ACT_RUNNER_VERSION=3.0.2
# STAGE 1 — BUILDER # STAGE 1 — BUILDER
FROM alpine:3.20 AS builder FROM alpine:3.20 AS builder
ARG ACT_RUNNER_VERSION ARG ACT_RUNNER_VERSION
RUN apk add --no-cache curl unzip RUN apk add --no-cache curl unzip bash
# Kubectl # Kubectl
RUN curl -Lo /tmp/kubectl \ RUN curl -Lo /tmp/kubectl \
@@ -29,13 +29,31 @@ FROM alpine:3.20
COPY --from=builder /tmp/kubectl /usr/local/bin/kubectl COPY --from=builder /tmp/kubectl /usr/local/bin/kubectl
COPY --from=builder /tmp/gitea-runner /usr/local/bin/act_runner COPY --from=builder /tmp/gitea-runner /usr/local/bin/act_runner
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
RUN addgroup -g 1000 kube \
&& adduser -D -u 1000 -G kube -s /bin/ash kube \
&& mkdir -p /home/kube \
&& chown -R kube:kube /home/kube
USER kube RUN addgroup -g 1000 runner \
WORKDIR /home/kube && adduser -D -u 1000 -G runner -s /bin/bash runner \
&& mkdir -p /home/runner \
&& chown -R runner:runner /home/runner
RUN mkdir /etc/act_runner \
&& chown -R runner:runner /etc/act_runner
VOLUME /home/runner/data
ENV GITEA_RUNNER_NAME="kubectl-mini" \
GITEA_RUNNER_CONFIG_FILE="/etc/act_runner/config.yaml" \
GITEA_RUNNER_EXEC_WORKDIR="/home/runner/workspace" \
GITEA_RUNNER_EPHEMERAL="1"\
GITEA_RUNNER_LABELS="linux,alpine,kubectl"
USER runner
RUN mkdir /home/runner/workspace && mkdir /home/runner/data
WORKDIR /home/runner
ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/act_runner"]
@@ -0,0 +1,30 @@
services:
act-runner:
build:
context: .
dockerfile: Dockerfile
image: act-runners/kubectl:dev
container_name: act-runner-kubectl
restart: unless-stopped
configs:
- source: runner_config
target: "etc/act_runner/config.yaml"
environment:
GITEA_INSTANCE_URL: "${GITEA_INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}"
volumes:
act-runner-config:
configs:
runner_config:
content: |
log:
level: info
runner:
capacity: 1
labels:
- linux
- kubectl
cache:
enabled: false
+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh
if [ ! -f "$GITEA_RUNNER_CONFIG_FILE" ]; then
echo "ERROR: Config file not found at $GITEA_RUNNER_CONFIG_FILE"
exit 1
fi
cd /home/runner/data
if [ ! -f ".runner" ]; then
echo "Registering runner..."
act_runner register \
-c "$GITEA_RUNNER_CONFIG_FILE" \
--instance "$GITEA_INSTANCE_URL" \
--token "$GITEA_RUNNER_REGISTRATION_TOKEN" \
--name "$GITEA_RUNNER_NAME" \
--labels "$GITEA_RUNNER_LABELS"
fi
echo "Starting runner..."
exec act_runner daemon \
-c "$GITEA_RUNNER_CONFIG_FILE"