Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
b25a630
feat: add 'ksail cluster update' command for updating clusters
botantler[bot] Feb 1, 2026
14a88b2
feat(cluster): implement update functionality for K3d, Kind, and Talo…
devantler Feb 1, 2026
8c647d2
chore: update generated CLI flags docs
devantler Feb 1, 2026
f9421db
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 1, 2026
3247cca
feat(cluster): add error handling for missing TalosConfig during updates
devantler Feb 1, 2026
0303793
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 1, 2026
e2b2636
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 1, 2026
20705a8
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 7, 2026
b232168
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 7, 2026
b15720d
chore(docs): update workflow documentation for clarity and consistency
devantler Feb 7, 2026
c6bdd09
feat: wire component reconciliation and K3d worker scaling into updat…
devantler Feb 7, 2026
b403ce5
feat: add E2E test runner agent and prompt files for end-to-end testing
devantler Feb 7, 2026
b4cd182
fix(docs): correct code block formatting in FAQ and support matrix do…
devantler Feb 7, 2026
401b567
fix(docs): update E2E test runner agent description for clarity on is…
devantler Feb 7, 2026
7a1452f
feat: enhance error handling and improve update process in cluster ma…
devantler Feb 7, 2026
07e8659
feat: add handoff details to E2E test runner agent documentation
devantler Feb 7, 2026
8ea324f
feat: enhance cluster configuration handling and deduplication logic
devantler Feb 7, 2026
009cd06
feat: improve confirmation prompts and output formatting in cluster m…
devantler Feb 7, 2026
c50918d
chore: update generated CLI flags docs
devantler Feb 7, 2026
570c8c0
fix: resolve lint issues in k3d update.go
devantler Feb 7, 2026
ed85b3e
refactor: extract DefaultCurrentSpec to eliminate GetCurrentConfig du…
devantler Feb 7, 2026
ea54f8b
refactor: extract PrepareUpdate helper to reduce Update method duplic…
devantler Feb 7, 2026
29178ac
refactor: extract maybeDisableK3dFeature to consolidate K3d setup fun…
devantler Feb 7, 2026
d75d78a
chore: apply golangci-lint fixes
devantler Feb 7, 2026
7f09c48
refactor: replace repetitive DiffEngine check methods with table-driv…
devantler Feb 7, 2026
20aec3e
refactor: extract installFromFactory to deduplicate Install*Silent fu…
devantler Feb 7, 2026
b970602
refactor: apply table-driven diff rules to Talos and Hetzner options,…
devantler Feb 7, 2026
be83cc7
refactor: decompose handleUpdateRunE to remove cyclop/funlen nolint
devantler Feb 7, 2026
216d28a
refactor: extract buildK3dExtraArgs to remove funlen/cyclop nolint fr…
devantler Feb 7, 2026
e6bf7a2
refactor: decompose runPushCommand and resolvePushParams to remove fu…
devantler Feb 7, 2026
dc4e5bf
refactor: extract runParallelValidation to remove funlen nolint from …
devantler Feb 7, 2026
92e4650
refactor: extract collectExistingMirrorSpecs to remove funlen nolint …
devantler Feb 7, 2026
430e6f5
style: fix golines formatting in OptionsTalos struct tags
devantler Feb 7, 2026
cae825e
refactor: absorb DiffConfig error into PrepareUpdate to reduce duplic…
devantler Feb 7, 2026
68a9e15
refactor: extract NewDiffResult helper to eliminate DiffConfig duplic…
devantler Feb 7, 2026
61833b6
chore: Apply megalinter fixes
devantler Feb 7, 2026
87a688c
chore: apply golangci-lint fixes
botantler[bot] Feb 7, 2026
d3b1201
fix: apply PR review comments and resolve all golangci-lint issues
devantler Feb 7, 2026
187839a
chore: apply golangci-lint fixes
devantler Feb 7, 2026
bbb39cb
feat: implement Talos node scaling for Docker and Hetzner providers
devantler Feb 7, 2026
c64e3bb
fix(ci): pass --distribution and --provider to cluster update steps
devantler Feb 7, 2026
bcc7d1e
fix(setup): guard against nil timer in installCNIOnly
devantler Feb 7, 2026
3cdcfff
fix(docs): update formatting in README for consistency
devantler Feb 7, 2026
3913657
chore: Apply megalinter fixes
devantler Feb 7, 2026
8a880db
refactor: apply Copilot review suggestions for update command
devantler Feb 7, 2026
105b8ad
style: fix golangci-lint issues
devantler Feb 7, 2026
ddfb820
chore: apply golangci-lint fixes
devantler Feb 7, 2026
50d95c8
refactor: apply Copilot review fixes for Hetzner scaling and UpdateRe…
devantler Feb 7, 2026
2255b62
fix: retry Helm chart install on transient network errors
devantler Feb 7, 2026
08364fb
chore: apply golangci-lint fixes
devantler Feb 7, 2026
c66648c
fix: apply third-round Copilot review fixes and lint cleanup
devantler Feb 7, 2026
7803c6c
chore: apply golangci-lint fixes
devantler Feb 7, 2026
552fa9d
feat: add maintainer workflow for upgrading gh-aw version
devantler Feb 7, 2026
11843ac
fix: pass $ARGS to cluster update steps in system test action
devantler Feb 7, 2026
9e4d4ee
chore: update GitHub workflows for consistency and formatting
devantler Feb 7, 2026
6c78253
chore: Apply megalinter fixes
devantler Feb 7, 2026
6c8e6ec
chore: apply golangci-lint fixes
botantler[bot] Feb 7, 2026
7e75f91
fix: update FAQ to clarify cluster recreation process for distributio…
devantler Feb 7, 2026
3a2f5b6
fix: adjust nolint comments for test functions in update_test.go
devantler Feb 7, 2026
a51f051
feat: replace client-side state with K8s API-based component detection
devantler Feb 8, 2026
d394e63
fix: address PR review feedback for isRetryableNetworkError and metri…
devantler Feb 8, 2026
6ed81a8
feat(workflow): add daily refactor workflow for incremental code impr…
devantler Feb 8, 2026
fd3259e
feat: enhance session management and state persistence
devantler Feb 8, 2026
ce3ae69
fix: update header rendering logic for improved layout and spacing
devantler Feb 8, 2026
f03f0be
chore: Apply megalinter fixes
devantler Feb 8, 2026
345c2da
feat: refactor chat model and UI components for improved readability …
devantler Feb 8, 2026
849c32b
refactor: update keybinding functions for consistency and clarity
devantler Feb 8, 2026
28371f3
refactor: improve code readability by adjusting comment placement in …
devantler Feb 8, 2026
c319171
chore: apply golangci-lint fixes
devantler Feb 8, 2026
f91a8c6
fix: reorder struct field tags for consistency in options.go
devantler Feb 8, 2026
4eda830
fix: apply PR review fixes for helm error handling, state path securi…
devantler Feb 8, 2026
e2c7232
chore: apply golangci-lint fixes
devantler Feb 8, 2026
4d5cd69
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 8, 2026
014754f
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 8, 2026
f063e7b
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 8, 2026
faf4c9d
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 8, 2026
a644a79
fix: clean up nolint comments and improve local registry handling in …
devantler Feb 9, 2026
f5e34b8
chore: apply golangci-lint fixes
devantler Feb 9, 2026
c8ad76a
fix: apply PR review feedback from review 3770655493
devantler Feb 9, 2026
be5d630
chore: apply golangci-lint fixes
devantler Feb 9, 2026
83ac840
refactor: extract applyGitOpsLocalRegistryDefault to shared types pac…
devantler Feb 9, 2026
d1a03b8
chore: apply golangci-lint fixes
devantler Feb 9, 2026
cce68db
fix: resolve false-positive Default-vs-Disabled diffs in cluster update
devantler Feb 9, 2026
b678249
chore: apply golangci-lint fixes
devantler Feb 9, 2026
ec37c72
fix: resolve Talos/Docker CI failure from resource exhaustion
devantler Feb 9, 2026
25ea0bc
chore: apply golangci-lint fixes
devantler Feb 9, 2026
8a06644
chore: update GitHub workflows and dependencies
devantler Feb 9, 2026
8ef3a2f
fix: address PR review comments and lint issues
devantler Feb 9, 2026
f6030cb
chore: Apply megalinter fixes
devantler Feb 9, 2026
e9dea82
chore: apply golangci-lint fixes
botantler[bot] Feb 9, 2026
078564b
refactor: streamline scaling functions and improve role handling in T…
devantler Feb 9, 2026
54cc2b8
feat(diff): implement Engine for computing configuration differences
devantler Feb 9, 2026
10b69b7
feat: add Cobra command runner and timer package
devantler Feb 9, 2026
d709831
refactor: reorganize imports across multiple files for consistency
devantler Feb 9, 2026
1573e47
feat(k8s): integrate k8s package for unique label value retrieval in …
devantler Feb 9, 2026
fb491c0
feat: introduce cluster error handling and refactor provisioner struc…
devantler Feb 9, 2026
0b28fe4
feat(metrics-server): add metrics-server installer and related docume…
devantler Feb 9, 2026
3f57792
feat(toolgen): implement tool generation and MCP integration
devantler Feb 9, 2026
c7ed5cc
feat(localregistry): add WaitForK3dLocalRegistryReady function to ens…
devantler Feb 9, 2026
6b7e1c3
chore: Apply megalinter fixes
devantler Feb 9, 2026
815d668
chore: update generated CLI flags docs
botantler[bot] Feb 9, 2026
5f2cba4
chore: apply golangci-lint fixes
botantler[bot] Feb 9, 2026
906c63e
refactor: use role constants and fix struct tag formatting
devantler Feb 9, 2026
4603b11
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 9, 2026
bb0f6a0
chore: apply golangci-lint fixes
devantler Feb 9, 2026
f2ceaf6
refactor: fix typos and use help separator constant
devantler Feb 9, 2026
75a5565
chore: apply golangci-lint fixes
devantler Feb 9, 2026
a5697ec
refactor: use checkmarkSuffix constant for UI consistency
devantler Feb 9, 2026
da866ce
chore: apply golangci-lint fixes
devantler Feb 9, 2026
2d46e89
refactor: use go.mod tool directive for golangci-lint version and fix…
devantler Feb 10, 2026
648cf8a
chore: tidy go modules
devantler Feb 10, 2026
af73b2b
refactor: improve package cohesion and eliminate stuttering type names
devantler Feb 10, 2026
f31b745
chore: apply golangci-lint fixes
devantler Feb 10, 2026
2e1f6f9
refactor: improve package cohesion and structure
devantler Feb 10, 2026
9119d2d
chore: remove unused version-file parameter from golangci-lint setup
devantler Feb 10, 2026
a2df090
chore: apply golangci-lint fixes
devantler Feb 10, 2026
0983f87
refactor: extract cluster detection to pkg/svc/detector/cluster
devantler Feb 10, 2026
e622593
refactor: apply PR review fixes for width clamping, timer drain, and …
devantler Feb 10, 2026
6d9eb6b
refactor: fix kubeconfig doc comment and use go list for lint version…
devantler Feb 10, 2026
ddfa8e0
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 10, 2026
d4217ba
refactor: flatten cli/helpers hierarchy into cli/flags, cli/editor, c…
devantler Feb 10, 2026
c1d9f34
refactor: split testing.go into deps.go and add missing doc.go files
devantler Feb 10, 2026
87ec9d7
refactor: eliminate installer duplication with helmutil.Base and shar…
devantler Feb 10, 2026
4418a7d
refactor: remove stuttering from generator types and embed helmutil.B…
devantler Feb 10, 2026
35ad0fc
refactor: remove stuttering from provisioner types
devantler Feb 10, 2026
94967c4
refactor: remove stuttering from unexported type names
devantler Feb 10, 2026
f0ee1f1
refactor: split registryresolver/registry.go into focused files
devantler Feb 10, 2026
84b6e93
refactor: split registry lifecycle.go into network.go and naming.go
devantler Feb 10, 2026
19b7cbf
refactor: extract Docker container helpers from delete.go into delete…
devantler Feb 10, 2026
3bac5e9
fix: apply PR review fixes for mockery paths and enter symbol constant
devantler Feb 10, 2026
1202967
Potential fix for code scanning alert no. 1014: Incorrect conversion …
devantler Feb 10, 2026
28049cb
fix: remove unused nolint directive after ParseInt migration
devantler Feb 10, 2026
e5b7044
refactor: extract pkg/k8s/readiness from pkg/k8s for cohesion
devantler Feb 10, 2026
2f4c07d
refactor: move TrimNonEmpty to registry package and update doc.go files
devantler Feb 10, 2026
d898576
refactor: unexport internal functions and remove dead argocd code
devantler Feb 10, 2026
9e378f7
refactor: split chat.go into focused files by responsibility
devantler Feb 10, 2026
f22e26d
refactor: remove dead code and unexport internal functions
devantler Feb 10, 2026
cd03320
refactor: rename generic result type to listResult and fix gci format…
devantler Feb 10, 2026
007c04d
refactor: split viewportPadding into width/height constants and fix d…
devantler Feb 10, 2026
c999573
Update tools.go
devantler Feb 10, 2026
ab882ae
chore: apply golangci-lint fixes
devantler Feb 10, 2026
8272174
refactor: eliminate code duplication in chat tools argument formattin…
Copilot Feb 11, 2026
a62086a
refactor: rename Instance to FluxInstance across the codebase
devantler Feb 11, 2026
2885d23
chore: update Go version to 1.26.0 across project files
devantler Feb 11, 2026
5ed85af
chore: Apply megalinter fixes
devantler Feb 11, 2026
a38a1d7
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 11, 2026
efe37f9
fix: update Go version to 1.26.0 and refactor pointer usage in multip…
devantler Feb 11, 2026
b084cdc
fix: update mockery configuration and handle session abort in streaming
devantler Feb 11, 2026
1b67755
fix: update Kyverno install timeout to 10 minutes and enhance Helm in…
devantler Feb 11, 2026
ded345f
fix: abort in-flight Copilot request on context cancellation and stan…
devantler Feb 11, 2026
4f0bc82
Merge branch 'main' into daily-roadmap-progress/cluster-update-comman…
devantler Feb 11, 2026
de759a6
Update tools.go
devantler Feb 11, 2026
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
  •  
  •  
  •  
12 changes: 9 additions & 3 deletions .github/actions/daily-perf-improver/build-steps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ runs:
echo "=== Running Unit Tests ===" | tee -a build-steps.log
test_start=$(date +%s)
# Enable covdata (temp) see https://github.com/golang/go/issues/75031
go env -w GOTOOLCHAIN=go1.25.4+auto
go env -w GOTOOLCHAIN=go1.26.0+auto
if go test -race -coverprofile=coverage.txt -covermode=atomic ./... 2>&1 | tee -a build-steps.log; then
test_end=$(date +%s)
test_duration=$((test_end - test_start))
Expand All @@ -70,7 +70,13 @@ runs:
echo "Installing golangci-lint..." | tee -a build-steps.log
GOBIN="$(go env GOPATH)/bin"
mkdir -p "${GOBIN}"
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "${GOBIN}"
# Resolve pinned version via go list; fall back to installer default when unavailable
LINT_VERSION="$(go list -m -f '{{.Version}}' github.com/golangci/golangci-lint/v2 2>/dev/null || true)"
if [ -n "${LINT_VERSION}" ]; then
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "${GOBIN}" "${LINT_VERSION}"
else
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "${GOBIN}"
fi
export PATH="${PATH}:${GOBIN}"
fi

Expand Down Expand Up @@ -106,7 +112,7 @@ runs:
echo "Installing npm dependencies..." | tee -a ../build-steps.log
npm ci 2>&1 | tee -a ../build-steps.log
fi

if npm run build 2>&1 | tee -a ../build-steps.log; then
docs_end=$(date +%s)
docs_duration=$((docs_end - docs_start))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ runs:
go-version-file: go.mod
cache: true
cache-dependency-path: go.sum

# Step 2: Verify Go installation
- name: ✅ Verify Go setup
shell: bash
Expand Down Expand Up @@ -41,7 +41,7 @@ runs:
shell: bash
run: |
echo "Enabling covdata workaround..." | tee -a coverage-steps.log
go env -w GOTOOLCHAIN=go1.25.4+auto 2>&1 | tee -a coverage-steps.log
go env -w GOTOOLCHAIN=go1.26.0+auto 2>&1 | tee -a coverage-steps.log
echo "✅ Covdata enabled" | tee -a coverage-steps.log

# Step 6: Run unit tests with coverage
Expand Down
26 changes: 25 additions & 1 deletion .github/actions/ksail-system-test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,30 @@ runs:
ksail workload push --path "$GITOPS_PATH/"
ksail workload reconcile

- name: 🧪 ksail cluster update --dry-run
id: cluster-update-dry-run
shell: bash
env:
DISTRIBUTION: ${{ inputs.distribution }}
PROVIDER: ${{ inputs.provider }}
ARGS: ${{ steps.resolve-args.outputs.args }}
HCLOUD_TOKEN: ${{ inputs.hcloud-token }}
run: |
# shellcheck disable=SC2086
ksail cluster update --dry-run --distribution "$DISTRIBUTION" --provider "$PROVIDER" $ARGS

- name: 🧪 ksail cluster update
id: cluster-update
shell: bash
env:
DISTRIBUTION: ${{ inputs.distribution }}
PROVIDER: ${{ inputs.provider }}
ARGS: ${{ steps.resolve-args.outputs.args }}
HCLOUD_TOKEN: ${{ inputs.hcloud-token }}
run: |
# shellcheck disable=SC2086
ksail cluster update --force --distribution "$DISTRIBUTION" --provider "$PROVIDER" $ARGS

- name: 💾 Save Docker volumes to cache
if: inputs.provider == 'Docker' && steps.restore-volume-cache.outputs.cache-hit != 'true'
uses: ./.github/actions/cache-docker-volumes
Expand All @@ -232,7 +256,7 @@ runs:
cache-version: v1

- name: 🐞 Debug Kubernetes failure
if: failure() && (steps.cluster-create.outcome == 'failure' || steps.workload-create.outcome == 'failure' || steps.workload-apply.outcome == 'failure' || steps.workload-push-reconcile.outcome == 'failure')
if: failure() && (steps.cluster-create.outcome == 'failure' || steps.workload-create.outcome == 'failure' || steps.workload-apply.outcome == 'failure' || steps.workload-push-reconcile.outcome == 'failure' || steps.cluster-update-dry-run.outcome == 'failure' || steps.cluster-update.outcome == 'failure')
uses: ./.github/actions/debug-kubernetes-failure
with:
kubectl-command: "ksail workload"
Expand Down
6 changes: 3 additions & 3 deletions .github/agents/add-tests.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
description: Add unit tests to the Go codebase following best practices.
---

# Add Tests Prompt
# Add Tests Agent

You are a super expert Go developer tasked with adding unit tests to this Go codebase.

1. Analyze the codebase to identify untested or under-tested areas.
2. (Optional) Refactor code to support high code coverage (e.g., introduce interfaces or seams).
2. (Optional) Use the Refactor agent to improve testability if needed. (e.g., introduce interfaces or seams).
3. Write comprehensive unit tests to cover those areas, following best practices.
4. Run linters and tests to ensure everything passes (golangci-lint and jscpd + go test).
4. Use the Refactor agent to fix any issues that arise from the new tests (e.g., test failures, linting issues, code duplication).
5. Go back to step 1 and repeat until the codebase has high test coverage.

## Rules for Writing Tests
Expand Down
18 changes: 9 additions & 9 deletions .github/agents/agentic-workflows.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Workflows may optionally include:
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
- Workflow lock files: `.github/workflows/*.lock.yml`
- Shared components: `.github/workflows/shared/*.md`
- Configuration: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/github-agentic-workflows.md
- Configuration: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/github-agentic-workflows.md

## Problems This Solves

Expand All @@ -49,7 +49,7 @@ When you interact with this agent, it will:
### Create New Workflow
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/create-agentic-workflow.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/create-agentic-workflow.md

**Use cases**:
- "Create a workflow that triages issues"
Expand All @@ -59,7 +59,7 @@ When you interact with this agent, it will:
### Update Existing Workflow
**Load when**: User wants to modify, improve, or refactor an existing workflow

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/update-agentic-workflow.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/update-agentic-workflow.md

**Use cases**:
- "Add web-fetch tool to the issue-classifier workflow"
Expand All @@ -69,7 +69,7 @@ When you interact with this agent, it will:
### Debug Workflow
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/debug-agentic-workflow.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/debug-agentic-workflow.md

**Use cases**:
- "Why is this workflow failing?"
Expand All @@ -79,7 +79,7 @@ When you interact with this agent, it will:
### Upgrade Agentic Workflows
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/upgrade-agentic-workflows.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/upgrade-agentic-workflows.md

**Use cases**:
- "Upgrade all workflows to the latest version"
Expand All @@ -89,7 +89,7 @@ When you interact with this agent, it will:
### Create Shared Agentic Workflow
**Load when**: User wants to create a reusable workflow component or wrap an MCP server

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/create-shared-agentic-workflow.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/create-shared-agentic-workflow.md

**Use cases**:
- "Create a shared component for Notion integration"
Expand All @@ -100,7 +100,7 @@ When you interact with this agent, it will:

**Load when**: Creating or updating workflows that coordinate multiple agents or dispatch work to other workflows

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/orchestration.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/orchestration.md

**Use cases**:
- Assigning work to AI coding agents
Expand All @@ -112,7 +112,7 @@ When you interact with this agent, it will:

**Load when**: Creating or updating workflows that manage GitHub Projects v2

**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/projects.md
**Prompt file**: https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/projects.md

**Use cases**:
- Tracking items and fields with update-project
Expand Down Expand Up @@ -160,7 +160,7 @@ gh aw compile --validate

## Important Notes

- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.42.9/.github/aw/github-agentic-workflows.md for complete documentation
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.42.17/.github/aw/github-agentic-workflows.md for complete documentation
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
Expand Down
12 changes: 12 additions & 0 deletions .github/agents/e2e-test-runner.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: E2E test runner agent for KSail, responsible for running end-to-end tests on the cluster management features to validate functionality and catch regressions.
handoffs:
- label: Start Implementation
agent: agent
prompt: "Start implementation"
send: true
---

# E2E Test Runner Agent

You are an expert end-to-end testing specialist. Your mission is to enhance critical user journeys by running local E2E tests via KSail CLI commands, and validate functionality, performance, UX, and UI against professional standards. When issues appear, summarize them clearly and concisely with actionable feedback for developers.
4 changes: 2 additions & 2 deletions .github/agents/refactor.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
description: Refactor a Go codebase incrementally while preserving existing behavior.
---

# Refactor Prompt
# Refactor Go Codebase Agent

You are an expert Go developer tasked with refactoring a Go codebase. Apply systematic, incremental improvements using a top-down approach (Module -> File -> Function) while preserving all existing behavior.

Keep going until the codebase is clean, has high cohesion, low coupling, and adheres to Go best practices.
Keep going until the codebase is clean, well-structured, has high cohesion, low coupling, and adheres to Go best practices.

## Rules for Refactoring

Expand Down
2 changes: 1 addition & 1 deletion .github/agents/write-docs.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: Write documentation for a product or project by researching and gathering information, then organizing
---

# Update Docs
# Update Docs Agent

## Job Description

Expand Down
12 changes: 6 additions & 6 deletions .github/aw/actions-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@
"version": "v3.12.0",
"sha": "8d2750c68a42422c14e847fe6c8ac0403b4cbd6f"
},
"github/gh-aw/actions/setup@v0.42.9": {
"github/gh-aw/actions/setup@v0.42.17": {
"repo": "github/gh-aw/actions/setup",
"version": "v0.42.9",
"sha": "dd559bb7eccb98233080e76b6139758705aa6615"
"version": "v0.42.17",
"sha": "7a970851c1090295e55a16e549c61ba1ce227f16"
},
"githubnext/gh-aw/actions/setup@v0.42.9": {
"githubnext/gh-aw/actions/setup@v0.42.17": {
"repo": "githubnext/gh-aw/actions/setup",
"version": "v0.42.9",
"sha": "dd559bb7eccb98233080e76b6139758705aa6615"
"version": "v0.42.17",
"sha": "7a970851c1090295e55a16e549c61ba1ce227f16"
}
}
}
16 changes: 7 additions & 9 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,7 @@ go run main.go --help
/
├── main.go # Main entry point
├── pkg/ # Core packages
│ ├── ai/ # AI-related utilities
│ │ └── toolgen/ # Tool generation for AI assistants
│ ├── toolgen/ # Tool generation for AI assistants
│ ├── apis/ # API types and schemas
│ ├── cli/ # CLI wiring, UI, and Cobra commands
│ │ ├── annotations/ # Command annotation constants
Expand All @@ -151,8 +150,7 @@ go run main.go --help
│ ├── mcp/ # Model Context Protocol server
│ ├── provider/ # Infrastructure providers (docker, hetzner)
│ ├── provisioner/ # Distribution provisioners (Vanilla, K3s, Talos)
│ ├── image/ # Container image export/import services
│ └── reconciler/ # Common base for GitOps reconciliation clients
│ └── image/ # Container image export/import services
├── docs/ # Astro documentation source
│ ├── dist/ # Generated site (after npm run build)
│ └── package.json # Node.js dependencies for documentation
Expand Down Expand Up @@ -203,7 +201,7 @@ ksail cluster init --help
**"Go version mismatch"**:

```bash
go version # Should match the version in go.mod (go 1.25.4)
go version # Should match the version in go.mod (go 1.26.0)
# If not, install/update Go from https://go.dev/dl/
```

Expand Down Expand Up @@ -236,7 +234,7 @@ npm run dev # Test locally (if needed)

### Important Notes

- The project uses **Go 1.25.4+** (see `go.mod`)
- The project uses **Go 1.26.0+** (see `go.mod`)
- All Kubernetes tools are embedded as Go libraries - only Docker is required externally
- Unit tests run quickly and should generally pass
- System tests in CI cover extensive scenarios with multiple tool combinations
Expand Down Expand Up @@ -266,7 +264,7 @@ npm run dev # Test locally (if needed)

**Key Packages:**

- `pkg/ai/toolgen/`: AI tool generation utilities for integrating with AI assistants
- `pkg/toolgen/`: AI tool generation utilities for integrating with AI assistants
- `pkg/apis/`: API types, schemas, and enums (`pkg/apis/cluster/v1alpha1/enums.go` defines Distribution values)
- `pkg/client/`: Embedded tool clients (kubectl, helm, kind, k3d, flux, argocd)
- `pkg/svc/`: Services including installers, providers, and provisioners
Expand All @@ -276,13 +274,13 @@ npm run dev # Test locally (if needed)
- `pkg/svc/provider/`: Infrastructure providers (docker, hetzner)
- `pkg/svc/provisioner/`: Distribution provisioners (Vanilla, K3s, Talos)
- `pkg/svc/image/`: Container image export/import services for Vanilla and K3s distributions
- `pkg/svc/reconciler/`: Common base for GitOps reconciliation clients (Flux and ArgoCD)
- `pkg/client/reconciler/`: Common base for GitOps reconciliation clients (Flux and ArgoCD)
- `pkg/di/`: Dependency injection for wiring components
- `pkg/utils/`: General utility functions

## Active Technologies

- Go 1.25.4+ (see `go.mod`)
- Go 1.26.0+ (see `go.mod`)
- Embedded Kubernetes tools (kubectl, helm, kind, k3d, flux, argocd) as Go libraries
- Docker as the only external dependency
- Astro with Starlight for documentation (Node.js-based)
Expand Down
8 changes: 4 additions & 4 deletions .github/copilot/instructions/build-ci-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ go mod why -m github.com/heavy/dependency

```dockerfile
# Multi-stage build with cache mounts
FROM golang:1.25.4 AS builder
FROM golang:1.26.0 AS builder

WORKDIR /build
COPY go.mod go.sum ./
Expand Down Expand Up @@ -324,13 +324,13 @@ jobs:
# These can run in parallel
lint:
runs-on: ubuntu-latest

test-unit:
runs-on: ubuntu-latest

build:
runs-on: ubuntu-latest

# This depends on build
test-system:
needs: [build]
Expand Down
6 changes: 3 additions & 3 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,23 +77,23 @@ updates:

- package-ecosystem: docker
registries: [dockerhub, ghcr]
directory: /pkg/io/config-manager/talos # Talos image (embedded in Go via go:embed)
directory: /pkg/fsutil/configmanager/talos # Talos image (embedded in Go via go:embed)
cooldown:
default-days: 7
schedule:
interval: daily

- package-ecosystem: docker
registries: [dockerhub, ghcr]
directory: /pkg/io/config-manager/k3d # K3s image (embedded in Go via go:embed)
directory: /pkg/fsutil/configmanager/k3d # K3s image (embedded in Go via go:embed)
cooldown:
default-days: 7
schedule:
interval: daily

- package-ecosystem: docker
registries: [dockerhub, ghcr]
directory: /pkg/io/config-manager/kind # Kind node image (embedded in Go via go:embed)
directory: /pkg/fsutil/configmanager/kind # Kind node image (embedded in Go via go:embed)
cooldown:
default-days: 7
schedule:
Expand Down
3 changes: 3 additions & 0 deletions .github/prompts/e2e-test-runner.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
agent: e2e-test-runner
---
2 changes: 1 addition & 1 deletion .github/scripts/generate-schema/go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/devantler-tech/ksail/generate-schema

go 1.25.4
go 1.26.0

require (
github.com/devantler-tech/ksail/v5 v5.20.3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/agentics-maintenance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
#
# This file was automatically generated by pkg/workflow/maintenance_workflow.go (v0.42.9). DO NOT EDIT.
# This file was automatically generated by pkg/workflow/maintenance_workflow.go (v0.42.13). DO NOT EDIT.
#
# To regenerate this workflow, run:
# gh aw compile
Expand Down Expand Up @@ -47,7 +47,7 @@ jobs:
pull-requests: write
steps:
- name: Setup Scripts
uses: github/gh-aw/actions/setup@v0.42.9
uses: github/gh-aw/actions/setup@v0.42.13
with:
destination: /opt/gh-aw/actions

Expand Down
Loading
Loading