- 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
46 lines
No EOL
1.5 KiB
YAML
46 lines
No EOL
1.5 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: kubeclaw-controller
|
|
namespace: scobleclaw
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: kubeclaw-controller
|
|
rules:
|
|
- apiGroups: ["kubeclaw.scoble.me"]
|
|
resources: ["agents", "agentconfigs", "agentgroups", "channels", "providers",
|
|
"workflowtemplates", "compliancepolicies"]
|
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
|
- apiGroups: ["kubeclaw.scoble.me"]
|
|
resources: ["agents/status", "agentconfigs/status", "agentgroups/status",
|
|
"channels/status", "providers/status",
|
|
"workflowtemplates/status", "compliancepolicies/status"]
|
|
verbs: ["get", "update", "patch"]
|
|
- apiGroups: ["kubeclaw.scoble.me"]
|
|
resources: ["agents/finalizers"]
|
|
verbs: ["update"]
|
|
- apiGroups: [""]
|
|
resources: ["pods", "configmaps", "serviceaccounts"]
|
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["apps"]
|
|
resources: ["deployments"]
|
|
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: kubeclaw-controller
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kubeclaw-controller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kubeclaw-controller
|
|
namespace: scobleclaw |