Skip to content

fix: simplify task file - #1

Merged
oliverbaehler merged 2 commits into
mainfrom
feat/improve-plugin
Oct 14, 2026
Merged

oliverbaehler merged 2 commits into
mainfrom
feat/improve-plugin

Conversation

@oliverbaehler

Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Signed-off-by: Oliver Baehler <oliver@sudo-i.net>
Copilot AI balanced review requested due to automatic review settings October 14, 2026 07:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 thread e2e/status_test.go
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}}},
@codecov

codecov Bot commented Oct 14, 2026

Copy link
Copy Markdown

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
bakito self-requested a review October 14, 2026 08:48
@oliverbaehler
oliverbaehler merged commit 5b7c4d1 into main Oct 14, 2026
23 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants