Skip to content

docs(api): clarify kind-wide Helm timeout overrides - #4493

Merged
Aleksei Sviridkin (lexfrei) merged 1 commit into
cozystack:mainfrom
opsmon:4382
Oct 10, 2026
Merged

Aleksei Sviridkin (lexfrei) merged 1 commit into
cozystack:mainfrom
opsmon:4382

Conversation

@opsmon

@opsmon ∆Sergey∆ (opsmon) commented Sep 26, 2026 •

Copy link
Copy Markdown

What this PR does

Clarifies that Helm install and upgrade timeout annotations are configured on an ApplicationDefinition and apply to every Application of that kind.

It also documents that the upgrade-specific timeout takes precedence over the shared install timeout and the global upgrade default.

Fixes #4382

Screenshots

N/A — this change only updates comments and CLI help text.

Downstream repositories

Release note

NONE

Summary by CodeRabbit

  • Documentation
    • Clarified that install and upgrade timeout overrides are configured for an Application kind through its ApplicationDefinition, rather than per Application.
    • Specified that the install-timeout setting applies to both installs and upgrades, while the upgrade-timeout setting takes precedence for upgrades.
    • Updated descriptions of global timeout defaults and override precedence. Timeout behavior is unchanged.

@github-actions github-actions Bot added area/api Issues or PRs related to the cozystack-api aggregated API server kind/documentation Categorizes issue or PR as related to documentation size/M This PR changes 30-99 lines, ignoring generated files labels Sep 26, 2026
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: cozystack/cozystack/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: db70a93f-b359-4ecb-8533-4f8ef63fe0c1

📥 Commits

Reviewing files that changed from the base of the PR and between 9c7fbe8 and 9b35fa0.


📒 Files selected for processing (2)
  • pkg/cmd/server/start.go
  • pkg/registry/apps/application/rest.go

🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/registry/apps/application/rest.go
  • pkg/cmd/server/start.go

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.



📝 Walkthrough

Walkthrough

Comments now describe Helm install and upgrade timeout overrides as settings from an ApplicationDefinition for an Application kind. They clarify that the upgrade timeout annotation takes precedence for upgrades. Executable timeout behavior is unchanged.

Changes

Timeout override documentation

Layer / File(s) Summary
Clarify timeout override scope and precedence
pkg/cmd/server/start.go, pkg/config/config.go, pkg/registry/apps/application/rest.go, pkg/registry/apps/application/rest_helmrelease_spec_test.go, pkg/registry/apps/application/rest_timeout_test.go
Comments describe timeout overrides as kind-wide settings from an ApplicationDefinition. They clarify that the upgrade timeout takes precedence for upgrades. Test logic is unchanged.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Other · Severity of issue fixed: Low


Merge Risk: ⚪ Minimal · up to 9b35f

The timeout wording clarifies how settings apply to an application kind. No actionable issue is established that would prevent merging.

Architecture Summary

Architecture risk: 🔵 Low · up to 9c7fb

The change affects 1 system.

Changed systems: pkg

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — pkg (service) was modified; 5 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in pkg/config/config.go: Updated the timeout field comments from per-Application to per-kind semantics for HelmInstallTimeout and HelmUpgradeTimeout; field declarations are unchanged.
  • observed — Modified behavior in pkg/config/config.go: Updated the global install and upgrade timeout comments to describe overrides from the kind’s ApplicationDefinition; upgrade documentation now specifies that HelmUpgradeTimeout takes precedence over HelmInstallTimeout.
  • observed — Modified behavior in pkg/registry/apps/application/rest.go: The comment now describes install and upgrade timeout overrides as kind-wide ApplicationDefinition settings, replacing the previous description of per-Application annotation overrides.
  • observed — Modified behavior in pkg/cmd/server/start.go: Updated the install- and upgrade-timeout flag descriptions to state that release.cozystack.io/helm-install-timeout on an ApplicationDefinition overrides defaults for an Application kind and sets both timeouts; release.cozystack.io/helm-upgrade-timeout takes higher precedence for upgrade only.


Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: clarifying kind-wide Helm timeout overrides in API documentation and comments.
Linked Issues check Passed The changes satisfy [#4382]. start.go, config.go, and rest.go identify the annotations as ApplicationDefinition settings for an application kind. The comments document that `helm-upgrade-timeo…
Out of Scope Changes check Passed All changed files contain timeout-related comments or CLI help text. The test changes update documentation only. The diff does not change timeout parsing, selection, or resource behavior. These change…
Docstring Coverage Passed Docstring coverage is 83.33% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 5 files.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

∆Sergey∆ (@opsmon) LGTM. Every rewritten sentence matches the code. Both annotations are read only from the ApplicationDefinition (start.go:339-358), and the precedence in rest.go:1676-1684 is what the new text says: flag defaults first, then helm-install-timeout for both sides, then helm-upgrade-timeout for upgrade only. Only the two flag help strings reach users, and the touched packages build and vet clean.

Two optional nits. The reflow left a short line at start.go:329. Three test comments still say per-Application (rest_helmrelease_spec_test.go:207, rest_timeout_test.go:22 and :140).

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.

∆Sergey∆ (@opsmon) LGTM. The new test comments and the reflowed start.go comment match the code. The annotations are read only from the ApplicationDefinition (start.go:339-358), and the upgrade timeout overrides the install one (rest.go:1676-1684). Build, vet and the timeout tests are clean.

Timeout annotations are read from an ApplicationDefinition and therefore
affect every Application of that kind. Describing them as per-Application
hides their actual scope and the upgrade override precedence.

Fixes cozystack#4382

Assisted-by: LLM
Signed-off-by: frolov.so <[email protected]>
@lexfrei
Aleksei Sviridkin (lexfrei) merged commit bd8264f into cozystack:main Oct 10, 2026
56 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/api Issues or PRs related to the cozystack-api aggregated API server kind/documentation Categorizes issue or PR as related to documentation size/M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Timeout override comments call a per-kind setting per-Application

2 participants