Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/buildah.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Install hadolint
run: |
mkdir -p "$HOME/.local/bin"
curl -sSL -o "$HOME/.local/bin/hadolint" \
https://github.com/hadolint/hadolint/releases/download/v2.14.0/hadolint-Linux-x86_64
https://github.com/hadolint/hadolint/releases/download/v2.15.1/hadolint-linux-x86_64
chmod +x "$HOME/.local/bin/hadolint"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"

- name: Setup Python
uses: actions/setup-python@v5
uses: actions/setup-python@v7
with:
python-version: '3.12'

Expand All @@ -53,7 +53,7 @@ jobs:
images: ${{ steps.find.outputs.images }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 2

Expand Down Expand Up @@ -87,15 +87,15 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Install buildah and podman
run: |
sudo apt-get update
sudo apt-get install -y buildah podman

- name: Build image
uses: redhat-actions/buildah-build@v2
uses: redhat-actions/buildah-build@v3
with:
context: ${{ matrix.image }}
containerfiles: ${{ matrix.image }}/Containerfile
Expand All @@ -109,7 +109,7 @@ jobs:
if: |
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
(github.event_name == 'workflow_dispatch' && inputs.mode == 'build & push')
uses: redhat-actions/push-to-registry@v2
uses: redhat-actions/push-to-registry@v3
with:
image: ${{ matrix.image }}
tags: latest ${{ github.sha }}
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ repos:
entry: gitleaks dir --redact --verbose .
pass_filenames: false
- repo: https://github.com/hadolint/hadolint
rev: v2.14.0
rev: v2.15.1
hooks:
- id: hadolint
args: [--failure-threshold=error]
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Single workflow, three jobs, all on `ubuntu-latest`.
- push/PR → only directories changed since the previous commit (`make changed-images`)
3. **build** — after checks pass, fan out over the detected image matrix:
- install buildah and podman
- `redhat-actions/buildah-build@v2` with `--squash`
- `redhat-actions/buildah-build@v3` with `--squash`
- on `push` to `main`, or `workflow_dispatch` with `mode=build & push`, push to GHCR with tags `latest` and `${{ github.sha }}`

PRs and `workflow_dispatch` with `mode=build` build but do not push.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Container image monorepo. Each subdirectory containing a `Containerfile` is buil

| Directory | Base | Purpose |
|---|---|---|
| `tfroot-runner/` | `ghcr.io/actions/actions-runner` (Ubuntu) | gha-runner-scale-set runner with the OpenTofu IaC toolchain (kubectl, kustomize, sops, ansible, pre-commit, tflint, terraform-docs, infracost, checkov) |
| `gh-cli/` | `alpine:3.21` | Minimal `gh` image for automation Jobs |
| `tfroot-runner/` | `ghcr.io/actions/actions-runner:2.336.0` (Ubuntu) | gha-runner-scale-set runner with the OpenTofu IaC toolchain (kubectl, kustomize, sops, ansible, pre-commit, tflint, terraform-docs, infracost, checkov) |
| `gh-cli/` | `alpine:3.24` | Minimal `gh` image for automation Jobs |

## How It Works

Expand Down
2 changes: 1 addition & 1 deletion gh-cli/Containerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Minimal GitHub CLI image for automation tasks
FROM alpine:3.21
FROM alpine:3.24

LABEL description="Minimal Alpine image with GitHub CLI for automation tasks"
LABEL org.opencontainers.image.source="https://github.com/makeitworkcloud/images"
Expand Down
23 changes: 13 additions & 10 deletions tfroot-runner/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,20 @@
##############################
# Pinned versions — update here
##############################
ARG OPENTOFU_VERSION=1.12.3
ARG SOPS_VERSION=3.13.1
ARG OPENTOFU_VERSION=1.12.5
ARG SOPS_VERSION=3.13.3
ARG TERRAFORM_DOCS_VERSION=0.24.0
ARG TFUPDATE_VERSION=0.9.4
ARG TFUPDATE_VERSION=0.10.2
ARG HCLEDIT_VERSION=0.2.18
ARG TFLINT_VERSION=0.63.1
ARG INFRACOST_VERSION=0.10.44
ARG KUBECTL_VERSION=1.36.2
ARG TFLINT_VERSION=0.64.0
ARG INFRACOST_VERSION=0.10.45
ARG KUBECTL_VERSION=1.36.3
ARG KUSTOMIZE_VERSION=5.8.1
ARG CHECKOV_VERSION=3.3.1
ARG PRECOMMIT_VERSION=4.6.0
ARG CHECKOV_VERSION=3.3.11
ARG PRECOMMIT_VERSION=4.6.2
ARG PYTHON_VERSION=3.14
ARG YQ_VERSION=4.53.3
ARG ACTIONS_RUNNER_VERSION=2.336.0

##############################
# Stage 1: Build/download tools
Expand Down Expand Up @@ -103,9 +105,10 @@ RUN set -eux; \
##############################
# Stage 2: Final runner image
##############################
FROM --platform=linux/amd64 ghcr.io/actions/actions-runner:latest
FROM --platform=linux/amd64 ghcr.io/actions/actions-runner:${ACTIONS_RUNNER_VERSION}

ARG PYTHON_VERSION
ARG YQ_VERSION

LABEL org.opencontainers.image.title="tfroot-runner" \
org.opencontainers.image.description="GitHub ARC runner with OpenTofu, kubectl, kustomize, sops, ansible, pre-commit, and friends." \
Expand All @@ -127,7 +130,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ansible-core openssh-client \
jq genisoimage gnupg make shellcheck libatomic1 \
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 \
&& curl -fsSL https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
&& curl -fsSL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64" \
-o /usr/local/bin/yq && chmod +x /usr/local/bin/yq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /usr/share/doc/* /usr/share/man/*
Expand Down
2 changes: 1 addition & 1 deletion tfroot-runner/pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repos:
- id: conventional-pre-commit
stages: [commit-msg]
- repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.107.0
rev: v1.108.1
hooks:
- id: terraform_validate
args:
Expand Down
Loading