Repository navigation
fix: simplify task file - #1
Merged
Merged
Conversation
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new lifecycle e2e test has boundary timing that can intermittently miss its planned or active state.
1 open finding
What changed in this PR
This PR simplifies repository tooling while expanding ChangeWindow lifecycle reporting, playground resources, documentation, and Headlamp calendar/detail views.
Changes:
- Adds Ready/Active lifecycle conditions with tests and CLI columns.
- Introduces multi-period Headlamp calendars, events, and namespace selection.
- Consolidates examples under
playground/and removes bespoke tooling tests.
| File | Description |
|---|---|
renovate.json |
Adds dependency automation configuration. |
prek.toml |
Moves native file checks into the main hook config. |
playground/README.md |
Documents playground usage and layout. |
playground/manifests/kustomization.yaml |
Selects runnable demo resources. |
playground/manifests/examples/quickstart.yaml |
Adds quickstart policy example. |
playground/manifests/examples/node-pool-maintenance.yaml |
Adds node maintenance example. |
playground/manifests/examples/maintenance-only.yaml |
Adds admission-only example. |
playground/manifests/examples/freeze-except-pods.yaml |
Adds wildcard exclusion example. |
playground/manifests/examples/executor-rbac.yaml |
Adds executor permissions. |
playground/manifests/examples/conditional-maintenance.yaml |
Adds conditional policy example. |
playground/manifests/examples/after-hours.yaml |
Adds workload scaling example. |
playground/manifests/examples/after-hours-executor-rbac.yaml |
Adds after-hours executor RBAC. |
playground/manifests/examples/addons_v1alpha1_changewindow.yaml |
Adds comprehensive API example. |
playground/manifests/dev/readiness.yaml |
Adds development admission probe. |
playground/manifests/demo/window.yaml |
Adds cycling demo window. |
playground/manifests/demo/resources.yaml |
Adds demo workload and Headlamp RBAC. |
playground/kind.config.yaml |
Configures the disposable Kind cluster. |
playground/installation/headlamp/release.flux.yaml |
Defines Flux-managed Headlamp. |
playground/installation/headlamp/kustomization.yaml |
Packages Headlamp resources. |
playground/installation/change-windows/values.yaml |
Scopes demo admission. |
internal/policy/policy_test.go |
Validates documented examples. |
internal/controller/suite_test.go |
Tests status table columns. |
internal/controller/status.go |
Implements lifecycle conditions. |
internal/controller/status_test.go |
Tests status transitions and failures. |
internal/controller/status_bench_test.go |
Benchmarks status reconciliation. |
internal/controller/changewindow_controller.go |
Integrates status updates. |
internal/controller/changewindow_controller_test.go |
Verifies finishing states. |
internal/admission/wildcard_test.go |
Uses relocated example. |
headlamp/src/WindowEvents.tsx |
Displays UID-filtered events. |
headlamp/src/WindowCalendar.tsx |
Adds weekly, monthly, and yearly views. |
headlamp/src/types.ts |
Expands resource and condition types. |
headlamp/src/testFixtures.ts |
Enriches UI fixtures. |
headlamp/src/schedule.ts |
Extends projection range. |
headlamp/src/schedule.test.ts |
Tests the new range limit. |
headlamp/src/schedule.bench.ts |
Benchmarks calendar views. |
headlamp/src/Overview.tsx |
Uses the shared calendar and lifecycle column. |
headlamp/src/NamespaceSelection.tsx |
Lists matching namespaces. |
headlamp/src/matching.ts |
Centralizes namespace matching. |
headlamp/src/matching.test.ts |
Updates optional-selector tests. |
headlamp/src/hooks.ts |
Adds batched projections and lifecycle formatting. |
headlamp/src/hooks.test.ts |
Tests batching and cancellation. |
headlamp/src/Details.tsx |
Adopts standard detail components. |
headlamp/src/calendar.ts |
Implements calendar ranges and bucketing. |
headlamp/src/calendar.test.ts |
Tests calendar behavior. |
headlamp/README.md |
Documents new plugin capabilities. |
hack/tools/go.mod |
Removes the separate documentation tool module. |
hack/tooling/workflows_test.go |
Removes workflow harness tests. |
hack/tooling/taskfile_test.go |
Removes Task harness tests. |
hack/tooling/release_workflows_test.go |
Removes release harness tests. |
hack/tooling/playground_test.go |
Removes playground harness tests. |
hack/tooling/image_test.go |
Removes image-task harness tests. |
hack/tooling/headlamp_workflows_test.go |
Removes Headlamp workflow harness tests. |
hack/tooling/docs_test.go |
Removes documentation harness tests. |
hack/tooling/dev_setup_test.go |
Removes development setup harness tests. |
hack/tooling/dev_deploy_test.go |
Removes deployment harness tests. |
hack/tooling/check_tools_test.go |
Removes tool-preflight harness tests. |
hack/prek-builtins.toml |
Removes redundant builtin hook config. |
hack/playground/headlamp-values.yaml |
Moves Headlamp values into Flux resources. |
hack/docs/docs_test.go |
Replaces the legacy static-site test suite. |
go.mod |
Reclassifies direct dependencies. |
e2e/wildcard_test.go |
Uses relocated example. |
e2e/status_test.go |
Adds lifecycle and table e2e coverage. |
e2e/matching_test.go |
Uses relocated node example. |
e2e/after_hours_test.go |
Verifies lifecycle conditions. |
docs/tests/production.spec.js |
Tests production HTTPS interactions. |
docs/tests/home.spec.js |
Updates example paths and mobile interactions. |
docs/playwright.config.js |
Adds Android coverage. |
docs/hugo.toml |
Mounts relocated examples. |
docs/data/window_example.yaml |
Updates generated API anchors. |
docs/content/docs/guides/operations.md |
Documents lifecycle status semantics. |
docs/content/docs/guides/headlamp.md |
Documents expanded Headlamp views. |
docs/content/docs/getting-started/installation.md |
Updates example path. |
docs/content/docs/development/playground.md |
Documents Flux playground structure. |
docs/content/docs/development/contributing.md |
Updates tooling guidance. |
docs/api-reference.yaml |
Configures crdoc generation. |
DEVELOPMENT.md |
Updates repository workflow documentation. |
devbox.lock |
Locks Flux and Lychee. |
devbox.json |
Adds tools and crdoc initialization. |
CONTRIBUTING.md |
Updates boilerplate location. |
charts/change-windows/crds/addons.projectcapsule.dev_changewindows.yaml |
Adds lifecycle schema and columns. |
api/v1alpha1/changewindow_types.go |
Defines lifecycle condition constants. |
api/boilerplate.go.txt |
Relocates generated-code boilerplate. |
.github/workflows/lint.yml |
Simplifies lint workflow targets. |
.github/workflows/e2e.yml |
Updates e2e path filters. |
.github/workflows/docs.yml |
Uses the canonical documentation URL. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+32
to
+35
| start := time.Now().UTC().Add(time.Minute).Truncate(time.Minute) | ||
| window := &api.ChangeWindow{ObjectMeta: metav1.ObjectMeta{Name: "status-lifecycle"}, Spec: api.ChangeWindowSpec{ | ||
| NamespaceSelectors: []metav1.LabelSelector{{MatchLabels: map[string]string{"kubernetes.io/metadata.name": "status-selected"}}}, | ||
| Schedules: []api.Schedule{{Name: "daily", Cron: fmt.Sprintf("%d %d * * *", start.Minute(), start.Hour()), TimeZone: "UTC", Duration: metav1.Duration{Duration: 10 * time.Second}}}, |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
bakito
self-requested a review
October 14, 2026 08:48
bakito
approved these changes
Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

No description provided.