kubeclaw/charts/kubeclaw/crds/kubeclaw.scoble.me_workflowtemplates.yaml
Marcus (agent-cos) ece81f651c feat: full kubeclaw operator — CRDs, controllers, deploy manifests, Helm chart
- 7 CRDs (Agent, AgentConfig, AgentGroup, Channel, Provider, WorkflowTemplate, CompliancePolicy)
- 3 controllers (Agent, WorkflowTemplate, CompliancePolicy)
- Generated deepcopy methods (controller-gen v0.16.5)
- Dockerfile (multi-stage Go build)
- Nix build-image.nix (dockerTools.streamLayeredImage)
- Helm chart with RBAC, deployment, service account
- Deploy manifests (RBAC + controller deployment)
- Sample manifests for all 7 CRDs
- Quickstart script
- Successfully deployed to k3s on n97-mini:
  - Controller running and reconciling
  - All 7 CRDs registered
  - Agent CR creates Pod (ErrImagePull expected — no agent image yet)
  - Controller logs show reconciliation working
2026-05-12 17:08:31 -07:00

106 lines
3.1 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: workflowtemplates.kubeclaw.scoble.me
labels:
app.kubernetes.io/name: kubeclaw
app.kubernetes.io/part-of: scobleclaw
spec:
group: kubeclaw.scoble.me
names:
kind: WorkflowTemplate
listKind: WorkflowTemplateList
plural: workflowtemplates
singular: workflowtemplate
shortNames:
- wt
- wft
scope: Cluster
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Audit
type: string
jsonPath: .spec.auditLevel
- name: Steps
type: integer
jsonPath: .spec.steps
- name: Ready
type: boolean
jsonPath: .status.ready
- name: Age
type: date
jsonPath: .metadata.creationTimestamp
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
required: [displayName, description, steps, parametersSchema, outputSchema, auditLevel]
properties:
displayName:
type: string
description:
type: string
steps:
type: array
items:
type: object
required: [name, action, target]
properties:
name:
type: string
action:
type: string
target:
type: string
condition:
type: string
onFailure:
type: string
enum: [stop, skip, continue]
parametersSchema:
type: object
x-kubernetes-preserve-unknown-fields: true
outputSchema:
type: object
x-kubernetes-preserve-unknown-fields: true
complianceRequirements:
type: array
items:
type: string
requiresApproval:
type: array
items:
type: string
allowedDataSources:
type: array
items:
type: string
allowedDestinations:
type: array
items:
type: string
auditLevel:
type: string
enum: [minimal, standard, full]
status:
type: object
properties:
ready:
type: boolean
validated:
type: boolean
usedByAgents:
type: array
items:
type: string
lastInstantiated:
type: string
format: date-time