Packages

addons.projectcapsule.dev/v1alpha1

Package v1alpha1 contains API Schema definitions for the addons v1alpha1 API group.

Resource Types

ActionStep

Appears in:

FieldDescriptionDefaultValidation
apply Apply

AdmissionConfig

Appears in:

FieldDescriptionDefaultValidation
warnings AdmissionWarning arrayMaxItems: 32
Optional: {}

AdmissionRule

Appears in:

FieldDescriptionDefaultValidation
name stringMinLength: 1
targets string arrayMinItems: 1
operations string arrayMinItems: 1
items:Enum: [CREATE UPDATE DELETE]
subresources string arraySubresources defaults to the parent resource only. Use “scale” for /scale,
"" for all subresources, and ["", “”] for parent and subresource writes.
Optional: {}
audience AudienceAudience selects authenticated request identities. Omitted or empty means everyone.Optional: {}
matchConditions MatchCondition arrayMatchConditions are ANDed CEL expressions. An empty list matches all requests.
A false result skips this entry. Evaluation errors fail closed for denial rules;
warning errors return a diagnostic warning without denying the request.
Variables: object, oldObject, request, namespaceObject. Objects are the actual
admission payloads (e.g. Scale for /scale); absent objects are null.
MaxItems: 64
Optional: {}
when stringActiveEnum: [Active Inactive]
action stringDenyEnum: [Deny]
message stringMessage is a Go template with target and window context.MaxLength: 4096
MinLength: 1

AdmissionWarning

Appears in:

FieldDescriptionDefaultValidation
name stringMinLength: 1
targets string arrayMinItems: 1
operations string arrayMinItems: 1
items:Enum: [CREATE UPDATE DELETE]
subresources string arraySubresources defaults to the parent resource only. Use “scale” for /scale,
"" for all subresources, and ["", “”] for parent and subresource writes.
Optional: {}
audience AudienceAudience selects authenticated request identities. Omitted or empty means everyone.Optional: {}
matchConditions MatchCondition arrayMatchConditions are ANDed CEL expressions. An empty list matches all requests.
A false result skips this entry. Evaluation errors fail closed for denial rules;
warning errors return a diagnostic warning without denying the request.
Variables: object, oldObject, request, namespaceObject. Objects are the actual
admission payloads (e.g. Scale for /scale); absent objects are null.
MaxItems: 64
Optional: {}
when stringEnum: [BeforeStart Active BeforeEnd]
within DurationWithin is required for BeforeStart/BeforeEnd and must be positive, at most 168h.Optional: {}
message stringMaxLength: 4096
MinLength: 1

Apply

Appears in:

FieldDescriptionDefaultValidation
subresource stringSubresource is an actual Kubernetes subresource, e.g. scale (not rollout).Optional: {}
force booleanForce explicitly transfers ownership of conflicting fields.Optional: {}
template stringTemplate renders a partial YAML/JSON object. Identity is supplied by the controller.MaxLength: 65536
MinLength: 1

Audience

Audience matches any include subject unless any exclude subject matches. Empty include matches everyone. Subjects are exact, case-sensitive identities; matching a subject does not grant RBAC permissions.

Appears in:

FieldDescriptionDefaultValidation
include Subject arrayMaxItems: 64
Optional: {}
exclude Subject arrayMaxItems: 64
Optional: {}

Capture

Appears in:

FieldDescriptionDefaultValidation
subresource stringOptional: {}
path stringPath is an RFC 6901 JSON pointer.Pattern: ^/

ChangeWindow

ChangeWindow describes scheduled resource changes and admission restrictions.

FieldDescriptionDefaultValidation
apiVersion stringaddons.projectcapsule.dev/v1alpha1
kind stringChangeWindow
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec ChangeWindowSpec
status ChangeWindowStatusOptional: {}

ChangeWindowSpec

ChangeWindowSpec selects namespaces and resources for scheduled behavior.

Appears in:

FieldDescriptionDefaultValidation
namespaceSelectors LabelSelector arrayNamespaceSelectors are ORed for namespaced targets. Required when any target is namespaced.
Omit for Node-only windows; Node targets use their own label selector.
An explicit empty selector matches all non-protected namespaces.
MaxItems: 16
MinItems: 1
Optional: {}
schedules Schedule arraySchedules form a union of overlapping and adjacent windows.MaxItems: 16
MinItems: 1
targets Target arrayMaxItems: 32
MinItems: 1
serviceAccount ServiceAccountReferenceServiceAccount is the identity used for resource reads and SSA writes.Optional: {}
actions ResourceAction arrayMaxItems: 16
Optional: {}
admission AdmissionRule arrayMaxItems: 32
Optional: {}
config ConfigOptional: {}

ChangeWindowStatus

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerOptional: {}
active booleanOptional: {}
windowStart TimeOptional: {}
windowEnd TimeWindowEnd is absent when the effective end is beyond the bounded scheduling horizon.Optional: {}
nextTransition TimeOptional: {}
pendingResources integerPendingResources counts journal entries still requiring completion.Optional: {}
conditions Condition arrayOptional: {}

Config

Appears in:

FieldDescriptionDefaultValidation
admission AdmissionConfigOptional: {}

MatchCondition

MatchCondition is a named CEL boolean expression compiled with the policy.

Appears in:

FieldDescriptionDefaultValidation
name stringMaxLength: 63
MinLength: 1
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
expression stringMaxLength: 4096
MinLength: 1

RequestMatch

RequestMatch restricts every admission rule and warning by request, identity and CEL conditions.

Appears in:

FieldDescriptionDefaultValidation
targets string arrayMinItems: 1
operations string arrayMinItems: 1
items:Enum: [CREATE UPDATE DELETE]
subresources string arraySubresources defaults to the parent resource only. Use “scale” for /scale,
"" for all subresources, and ["", “”] for parent and subresource writes.
Optional: {}
audience AudienceAudience selects authenticated request identities. Omitted or empty means everyone.Optional: {}
matchConditions MatchCondition arrayMatchConditions are ANDed CEL expressions. An empty list matches all requests.
A false result skips this entry. Evaluation errors fail closed for denial rules;
warning errors return a diagnostic warning without denying the request.
Variables: object, oldObject, request, namespaceObject. Objects are the actual
admission payloads (e.g. Scale for /scale); absent objects are null.
MaxItems: 64
Optional: {}

ResourceAction

Appears in:

FieldDescriptionDefaultValidation
name stringMinLength: 1
targets string arrayMinItems: 1
capture object (keys:string, values: Capture)Capture stores only explicitly selected JSON pointer values before any mutation.MaxProperties: 32
Optional: {}
onStart ActionStepOptional: {}
onEnd ActionStepOptional: {}

Schedule

Appears in:

FieldDescriptionDefaultValidation
name stringMaxLength: 63
MinLength: 1
cron stringCron is a standard five-field cron expression; seconds and TZ prefixes are not accepted.MaxLength: 256
timeZone stringUTC
duration DurationDuration is elapsed time, greater than zero and at most 168h.

ServiceAccountReference

Appears in:

FieldDescriptionDefaultValidation
namespace stringMinLength: 1
name stringMinLength: 1

Subject

Subject identifies an authenticated user, group, or namespaced service account.

Appears in:

FieldDescriptionDefaultValidation
kind stringEnum: [User Group ServiceAccount]
name stringMaxLength: 256
MinLength: 1
namespace stringNamespace is mandatory for ServiceAccounts and forbidden for Users and Groups.MaxLength: 63
MinLength: 1
Optional: {}

Target

Target selects a resource kind and labels. Admission targets support Capsule GVK patterns and match namespaced resources only, except concrete v1 Node targets. Scheduled actions require a concrete namespaced apiVersion and kind.

Appears in:

FieldDescriptionDefaultValidation
name stringMinLength: 1
apiVersion stringAPIVersion uses Capsule GVK matching: omitted/empty means core v1;
apps matches any apps version, apps/v1 is exact, and * matches all groups
and versions. Partial patterns such as apps/* and *.example.com/v1 work too.
MaxLength: 256
Optional: {}
kind stringKind is case-sensitive and supports * patterns, for example Set or Deploy.MaxLength: 256
MinLength: 1
selector LabelSelectorSelector selects resource labels. For Nodes it selects nodes directly;
for namespaced targets it applies within the selected namespaces.
Optional: {}