Skip to content

Commit 97b526e

Browse files
miguelgilaclaude
andcommitted
chore: generate ReaperDaemonJob CRD YAML
Generated via scripts/generate-crds.sh, deployed to both deploy/kubernetes/crds/ and deploy/helm/reaper/crds/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent daa2478 commit 97b526e

File tree

2 files changed

+497
-0
lines changed

2 files changed

+497
-0
lines changed
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: reaperdaemonjobs.reaper.io
5+
spec:
6+
group: reaper.io
7+
names:
8+
kind: ReaperDaemonJob
9+
plural: reaperdaemonjobs
10+
shortNames:
11+
- rdjob
12+
singular: reaperdaemonjob
13+
scope: Namespaced
14+
versions:
15+
- additionalPrinterColumns:
16+
- jsonPath: .status.phase
17+
name: Phase
18+
type: string
19+
- jsonPath: .status.readyNodes
20+
name: Ready
21+
type: string
22+
- jsonPath: .status.totalNodes
23+
name: Total
24+
type: string
25+
- jsonPath: .metadata.creationTimestamp
26+
name: Age
27+
type: date
28+
name: v1alpha1
29+
schema:
30+
openAPIV3Schema:
31+
description: Auto-generated derived type for ReaperDaemonJobSpec via `CustomResource`
32+
properties:
33+
spec:
34+
description: "ReaperDaemonJob runs a command to completion on every matching\
35+
\ node and re-triggers on node events (join, reboot). Designed for node\
36+
\ configuration tasks like Ansible playbooks that compose via shared\
37+
\ overlays.\n\nController layering: ReaperDaemonJob \u2192 ReaperPod\
38+
\ \u2192 Pod."
39+
properties:
40+
after:
41+
description: 'Dependency ordering: names of other ReaperDaemonJobs
42+
in the same namespace that must complete on a node before this job
43+
runs there.'
44+
items:
45+
type: string
46+
type: array
47+
args:
48+
description: Arguments to the command.
49+
items:
50+
type: string
51+
type: array
52+
command:
53+
description: Command to execute on each node.
54+
items:
55+
type: string
56+
type: array
57+
concurrencyPolicy:
58+
description: 'What to do if the job is already running on a node when
59+
a new trigger fires. "Skip" (default): skip the new trigger. "Replace":
60+
terminate and re-run.'
61+
type: string
62+
dnsMode:
63+
description: 'DNS resolution mode: "host" (default) or "kubernetes".'
64+
nullable: true
65+
type: string
66+
env:
67+
description: Environment variables.
68+
items:
69+
description: Simplified environment variable (name + literal value
70+
or secret/configmap ref).
71+
properties:
72+
configMapKeyRef:
73+
description: Reference to a ConfigMap key.
74+
nullable: true
75+
properties:
76+
key:
77+
description: Key within the Secret or ConfigMap.
78+
type: string
79+
name:
80+
description: Name of the Secret or ConfigMap.
81+
type: string
82+
required:
83+
- key
84+
- name
85+
type: object
86+
name:
87+
description: Environment variable name.
88+
type: string
89+
secretKeyRef:
90+
description: Reference to a Secret key.
91+
nullable: true
92+
properties:
93+
key:
94+
description: Key within the Secret or ConfigMap.
95+
type: string
96+
name:
97+
description: Name of the Secret or ConfigMap.
98+
type: string
99+
required:
100+
- key
101+
- name
102+
type: object
103+
value:
104+
description: Literal value.
105+
nullable: true
106+
type: string
107+
required:
108+
- name
109+
type: object
110+
type: array
111+
nodeSelector:
112+
additionalProperties:
113+
type: string
114+
description: Select nodes by labels. If empty, targets all nodes.
115+
nullable: true
116+
type: object
117+
overlayName:
118+
description: Named overlay group for shared overlay filesystem. Multiple
119+
ReaperDaemonJobs with the same overlayName share an overlay, enabling
120+
composable vServices.
121+
nullable: true
122+
type: string
123+
retryLimit:
124+
default: 0
125+
description: Maximum number of retries per node on failure. 0 means
126+
no retries.
127+
format: int32
128+
type: integer
129+
runAsGroup:
130+
description: Run the process as this GID.
131+
format: int64
132+
nullable: true
133+
type: integer
134+
runAsUser:
135+
description: Run the process as this UID.
136+
format: int64
137+
nullable: true
138+
type: integer
139+
tolerations:
140+
description: Tolerations passed through to the underlying Pods.
141+
items:
142+
description: Simplified toleration.
143+
properties:
144+
effect:
145+
description: 'Effect: "NoSchedule", "PreferNoSchedule", or "NoExecute".'
146+
nullable: true
147+
type: string
148+
key:
149+
description: Toleration key.
150+
nullable: true
151+
type: string
152+
operator:
153+
description: 'Operator: "Exists" or "Equal".'
154+
nullable: true
155+
type: string
156+
value:
157+
description: Value to match (when operator is "Equal").
158+
nullable: true
159+
type: string
160+
type: object
161+
type: array
162+
triggerOn:
163+
default: NodeReady
164+
description: 'Events that trigger (re-)execution on nodes. Valid values:
165+
"NodeReady" (default), "Manual". NodeReady: run when a node becomes
166+
Ready (join or reboot). Manual: only run when the spec changes or
167+
the resource is created.'
168+
type: string
169+
volumes:
170+
description: Volumes with inline mount paths.
171+
items:
172+
description: A simplified volume definition with inline mountPath.
173+
properties:
174+
configMap:
175+
description: ConfigMap name to mount.
176+
nullable: true
177+
type: string
178+
emptyDir:
179+
default: false
180+
description: Use an emptyDir volume.
181+
type: boolean
182+
hostPath:
183+
description: Host path to mount.
184+
nullable: true
185+
type: string
186+
mountPath:
187+
description: Path inside the overlay where this volume is mounted.
188+
type: string
189+
name:
190+
description: Volume name (used internally).
191+
type: string
192+
readOnly:
193+
default: false
194+
description: Mount as read-only.
195+
type: boolean
196+
secret:
197+
description: Secret name to mount.
198+
nullable: true
199+
type: string
200+
required:
201+
- mountPath
202+
- name
203+
type: object
204+
type: array
205+
workingDir:
206+
description: Working directory for the command.
207+
nullable: true
208+
type: string
209+
required:
210+
- command
211+
type: object

0 commit comments

Comments
 (0)