-
Notifications
You must be signed in to change notification settings - Fork 0
feat: implement cronjob primitive #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
cd854e2
cd2544b
c6c4288
cbae2f0
009f807
e244f20
465fe84
1c75a6c
7c8e5ac
ad7dbb0
5058194
c65f548
ac1294f
8f1e3a4
2e8cb12
e083c10
31e5ff9
e445b38
b8419fd
ac412f2
668d484
3f2221d
4fcf126
a870a04
7e82369
0e16941
52aa7a2
498d264
7b7bbd2
d6afd3f
5dec6ad
7ecd3a9
9fffcc4
11378e5
16498f4
71434fc
4b384ed
f962224
c0962c5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,24 +4,21 @@ run: | |
| timeout: 5m | ||
|
|
||
| linters: | ||
| disable-all: true | ||
| default: none | ||
| enable: | ||
| - errcheck | ||
| - govet | ||
| - ineffassign | ||
| - staticcheck | ||
| - unused | ||
| - asciicheck | ||
| - bidichk | ||
| - bodyclose | ||
| - dupl | ||
| - errcheck | ||
| - errname | ||
| - errorlint | ||
|
Comment on lines
6
to
15
|
||
| - goconst | ||
| - gocritic | ||
| - gocyclo | ||
| - godot | ||
| - revive | ||
| - govet | ||
| - ineffassign | ||
sourcehawk marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - misspell | ||
| - nakedret | ||
| - nilerr | ||
|
|
@@ -30,47 +27,56 @@ linters: | |
| - prealloc | ||
| - predeclared | ||
| - reassign | ||
| - revive | ||
| - staticcheck | ||
| - unconvert | ||
| - unparam | ||
| - unused | ||
| - whitespace | ||
|
|
||
| settings: | ||
|
||
| revive: | ||
| rules: | ||
| - name: blank-imports | ||
| - name: context-as-argument | ||
| - name: context-keys-type | ||
| - name: error-return | ||
| - name: error-strings | ||
| - name: error-naming | ||
| - name: exported | ||
| - name: if-return | ||
| - name: increment-decrement | ||
| - name: var-naming | ||
| - name: var-declaration | ||
| - name: package-comments | ||
| - name: range | ||
| - name: receiver-naming | ||
| - name: time-naming | ||
| - name: unexported-return | ||
| - name: indent-error-flow | ||
| - name: errorf | ||
| exclusions: | ||
|
||
| generated: lax | ||
| rules: | ||
| - linters: | ||
| - dupl | ||
| - goconst | ||
| - revive | ||
| path: _test\.go | ||
| - linters: | ||
| - revive | ||
| text: dot-imports | ||
| paths: | ||
| - third_party$ | ||
| - builtin$ | ||
| issues: | ||
| max-issues-per-linter: 0 | ||
| max-same-issues: 0 | ||
| formatters: | ||
|
||
| enable: | ||
| - gofmt | ||
| - goimports | ||
|
|
||
| issues: | ||
| exclude-rules: | ||
| - path: _test\.go | ||
| linters: | ||
| - dupl | ||
| - goconst | ||
| - revive | ||
| - text: "dot-imports" | ||
| linters: | ||
| - revive | ||
| exclude-use-default: false | ||
| max-issues-per-linter: 0 | ||
| max-same-issues: 0 | ||
|
|
||
| linters-settings: | ||
| revive: | ||
| rules: | ||
| - name: blank-imports | ||
| - name: context-as-first-argument | ||
| - name: context-keys-type | ||
| - name: error-return | ||
| - name: error-strings | ||
| - name: error-naming | ||
| - name: exported | ||
| - name: if-return | ||
| - name: increment-decrement | ||
| - name: var-naming | ||
| - name: var-declaration | ||
| - name: package-comments | ||
| - name: range | ||
| - name: receiver-naming | ||
| - name: time-naming | ||
| - name: unexported-return | ||
| - name: indent-error-flow | ||
| - name: errorf | ||
| exclusions: | ||
|
||
| generated: lax | ||
| paths: | ||
| - third_party$ | ||
| - builtin$ | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| golang 1.26.1 | ||
| golang 1.25.6 | ||
| golangci-lint 2.11.2 | ||
| nodejs 25.1.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| .PHONY: all | ||
| all: fmt fmt-md lint test build-examples | ||
| all: fmt lint test build-examples | ||
|
|
||
| ##@ General | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,245 @@ | ||||||
| # CronJob Primitive | ||||||
|
|
||||||
| The `cronjob` primitive is the framework's built-in integration abstraction for managing Kubernetes `CronJob` resources. | ||||||
| It integrates with the component lifecycle through the Operational and Suspendable concepts, and provides a rich | ||||||
| mutation API for managing the CronJob schedule, job template, pod spec, and containers. | ||||||
|
|
||||||
| ## Capabilities | ||||||
|
|
||||||
| | Capability | Detail | | ||||||
| | ------------------------ | ------------------------------------------------------------------------------------------- | | ||||||
| | **Operational tracking** | Reports `OperationPending` (never scheduled) or `Operational` (has scheduled at least once) | | ||||||
|
||||||
| | **Operational tracking** | Reports `OperationPending` (never scheduled) or `Operational` (has scheduled at least once) | | |
| | **Operational tracking** | Reports `OperationalStatusPending` (never scheduled) or `Operational` (has scheduled at least once) | |
Copilot
AI
Mar 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docs reference OperationPending, but the framework concepts in code use OperationalStatusPending (and the tests assert concepts.OperationalStatusPending). Please align the documentation to the actual status names returned by the primitive to avoid confusing API consumers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This golangci-lint config restructuring is very likely invalid for golangci-lint YAML schema: keys like
linters.default,linters.settings, andlinters.exclusions(andformatters.exclusions) are not recognized in commonly supported versions, which can cause golangci-lint to error and skip linting entirely. Recommend reverting to the known-good schema (linters: disable-all/enable,linters-settings:,issues: exclude-rules:/issues: exclusions:depending on version) and validating withgolangci-lint config verify(or running golangci-lint in CI) before merging.