Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8632a84
:seedling: Update Go to 1.24.5. (#1641)
guettli Jul 31, 2025
bc37725
:seedling: Refactor statusFromHCloudServer (#1649)
guettli Aug 28, 2025
fe1e6be
:seedling: Remove unused function HCloudMachineSpec() (#1648)
guettli Aug 28, 2025
8db141b
:seedling: Avoid warning: Waited for due to client-side throttling, (…
guettli Aug 29, 2025
e663e5e
:seedling: Use errors.Join(reterr, err) to handle two errors. (#1653)
guettli Aug 29, 2025
4de62ab
:seedling: Updating the Readme (#1657)
batistein Sep 5, 2025
67a49a8
🐛 Update metadata.yaml to include kind property (#1654)
goodlime Sep 8, 2025
d750d27
:seedling: Deprecate (ssh) PortAfterCloudInit. (#1670)
guettli Sep 12, 2025
8d80956
:seedling: Update hack dir (#1668)
guettli Sep 12, 2025
ebe949b
:seedling: e2e tests: Log conditions of wl-cluster. (#1672)
guettli Sep 12, 2025
93e385e
:seedling: avoid unhealthy conditions when cluster starts. (#1675)
guettli Sep 13, 2025
dbf908c
:seedling: Make concurrent execution of `make test-unit` possible. (#…
guettli Sep 16, 2025
a53c6da
🌱 Refactor Hcloud Provisioning, use Status.BootState (#1650)
guettli Sep 16, 2025
8852aed
:seedling: add `make verify-generated-files`. Update controller-gen t…
guettli Sep 17, 2025
95c1b7f
:sparkles: Update controller runtime and cluster-api to the newest ve…
guettli Sep 17, 2025
220b813
:seedling: Remove unused method ClientConfigWithAPIEndpoint #1687 (#1…
Deepam02 Sep 27, 2025
cdc0983
:seedling: When Robot API reaches a timeout, retry later. (#1639)
guettli Oct 1, 2025
2507017
:seedling: Avoid panic if hetznercluster.spec.controlPlaneEndpoint is…
guettli Oct 1, 2025
8ab0b5e
:seedling: Hcloud: Provision hcloud machines with custom command (ins…
guettli Oct 6, 2025
e18620f
:seedling: Add `--baremetal-ssh-after-install-image=false` to control…
guettli Oct 6, 2025
0f77fe3
:seedling: Provision baremetal via --baremetal-image-url-command (#1679)
guettli Oct 9, 2025
4bc8057
:seedling: Mark test as flaky (#1691)
guettli Oct 15, 2025
c3b5748
:seedling: HCloudMachineType: allow all values. (#1693)
guettli Oct 16, 2025
cf36eec
:seedling: Update Github Actions group to v4.0.0
syself-bot[bot] Oct 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .builder-image-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.23
1.0.25
9 changes: 7 additions & 2 deletions .github/actions/e2e/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ runs:
using: "composite"
steps:
- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
with:
Expand All @@ -41,8 +43,11 @@ runs:
- name: Install hcloud
shell: bash
env:
hcloudctl_version: 1.40.0
run: curl -fsSL https://github.com/hetznercloud/cli/releases/download/v${{ env.hcloudctl_version }}/hcloud-linux-amd64.tar.gz | tar -xzv hcloud ; mv hcloud hack/tools/bin/hcloud
hcloudctl_version: v1.52.0
run: |
curl -fsSL https://github.com/hetznercloud/cli/releases/download/${{ env.hcloudctl_version }}/hcloud-linux-amd64.tar.gz | tar -xzv hcloud
mkdir -p hack/tools/bin/
mv hcloud hack/tools/bin/hcloud

- name: Generate metadata
id: meta
Expand Down
25 changes: 25 additions & 0 deletions .github/actions/fixes/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Fix env var HOME and git permissions
description: Fix env var HOME and git permissions
runs:
using: "composite"
steps:
- name: Fix HOME Directory
shell: bash
run: |
# Issue [HOME is overridden for containers](https://github.com/actions/runner/issues/863)
h=$(getent passwd $(id -un) | cut -d: -f6)
if [ "$h" = "$HOME" ]; then
echo "HOME fine: $HOME"
exit 0
fi
echo "HOME=$HOME was broken. Setting it to $h"
ls -ld $HOME
ls -ld $h
echo "USER: $USER"
echo "id: $(id)"
echo "HOME=$h" >> $GITHUB_ENV

- name: Fixup git permissions
# https://github.com/actions/checkout/issues/766
shell: bash
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
2 changes: 2 additions & 0 deletions .github/actions/test-release/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ runs:
using: "composite"
steps:
- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
with:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
fetch-depth: 0

- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
Expand All @@ -55,7 +57,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Install Cosign
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0

- name: Install Bom
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-promote-builder-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
name: Promote Latest tag to Caph Builder Image
runs-on: ubuntu-latest
container:
image: ghcr.io/syself/caph-builder:1.0.23
image: ghcr.io/syself/caph-builder:1.0.25
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/pr-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,20 @@ jobs:
name: Test Release
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
runs-on: ubuntu-latest
container:
image: ghcr.io/syself/caph-builder:1.0.25
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
env:
BUILD_IN_CONTAINER: "false"
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

- name: Fix broken env var HOME
uses: ./.github/actions/fixes

- name: Test Release
id: manager-image
uses: ./.github/actions/test-release
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
name: "Lint Pull Request"
runs-on: ubuntu-latest
container:
image: ghcr.io/syself/caph-builder:1.0.23
image: ghcr.io/syself/caph-builder:1.0.25
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/pr-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,26 @@ jobs:
pull-requests: write
issues: write
runs-on: ubuntu-latest
container:
image: ghcr.io/syself/caph-builder:1.0.25
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
name: Verify Pull Request
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Fix Env Var HOME
uses: ./.github/actions/fixes
# Fixes:
# fatal: detected dubious ownership in repository at '/__w/clu...
# To add an exception for this directory, call:
# git config --global --add safe.directory /__w...

# Take from https://github.com/kubernetes-sigs/kubebuilder/blob/master/.github/workflows/verify.yml
- name: Validate PR Title Format
shell: bash
env:
TITLE: ${{ github.event.pull_request.title }}
run: |
Expand Down Expand Up @@ -48,13 +61,17 @@ jobs:
- name: Verify Starlark
run: make verify-starlark

- name: Verify Generated Files of Git Repo
run: make BUILD_IN_CONTAINER=false verify-generated-files

- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
with:
node-version: "22"
- name: Install renovate
run: npm i -g renovate@35.54.0 # TODO update this via renovatebot

- name: Validate config
shell: bash
run: |
for file in $(find . -name "*.json5"); do
renovate-config-validator ${file}
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
fetch-depth: 0

- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
Expand All @@ -46,7 +48,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Install Cosign
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0

- name: Install Bom
shell: bash
Expand Down Expand Up @@ -138,6 +140,8 @@ jobs:
fetch-depth: 0

- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- name: install kustomize
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/report-bin-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- name: Create Binsize Report
run: make caph report-binsize-treemap-all
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/schedule-scan-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'syself/cluster-api-provider-hetzner'
container:
image: ghcr.io/syself/caph-builder:1.0.23
image: ghcr.io/syself/caph-builder:1.0.25
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ jobs:
echo name=${NAME} >> $GITHUB_OUTPUT

- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
with:
go-version-file: "go.mod"

- name: Install dependencies
run: make gotestsum go-cover-treemap setup-envtest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ bin
hack/tools/bin
testbin/*
temp
/tmp
# Test binary, build with `go test -c`
*.test
.coverage
Expand Down
2 changes: 0 additions & 2 deletions .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,6 @@ linters-settings:
alias: bootstrapv1
- pkg: sigs.k8s.io/controller-runtime/pkg/metrics/server
alias: metricsserver
- pkg: sigs.k8s.io/cluster-api/errors
alias: capierrors
- pkg: sigs.k8s.io/controller-runtime/pkg/client/fake
alias: fakeclient
nolintlint:
Expand Down
18 changes: 18 additions & 0 deletions .mockery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This config was chosen, so that the output matches to old structure (pre config file .mockery.yaml).
# If you are here to copy this config to a new project, then it might
# make sense to choose a structure which needs less config by using
# the default values of Mockery.
all: True
filename: "{{.InterfaceName}}.go"
mockname: "{{.InterfaceName}}"
outpkg: mocks
packages:
github.com/syself/cluster-api-provider-hetzner/pkg/services/baremetal/client/ssh:
config:
dir: "{{.InterfaceDir}}/../mocks/ssh"
github.com/syself/cluster-api-provider-hetzner/pkg/services/baremetal/client/robot:
config:
dir: "{{.InterfaceDir}}/../mocks/robot"
github.com/syself/cluster-api-provider-hetzner/pkg/services/hcloud/client:
config:
dir: "{{.InterfaceDir}}/mocks"
Loading
Loading