You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: cloud sandbox support — RBAC, CRD, and env var injection (#9)
* feat: add cloud sandbox support — RBAC, CRD, and env var injection
Extends the operator to support cloud sandbox agent execution:
CRD:
- CloudSandboxSpec on AdaptersSpec with enabled, defaultImage,
namespace, idleTimeoutMin, and resources fields
RBAC:
- Namespace-scoped Role granting pods (create/get/list/watch/delete/patch),
pods/exec (create), and pods/log (get)
- RoleBinding connecting the sandbox Role to the instance ServiceAccount
- Separate from operator's own RBAC — scoped to sandbox namespace only
StatefulSet:
- Injects PAPERCLIP_CLOUD_SANDBOX_ENABLED, _NAMESPACE, _DEFAULT_IMAGE,
_IDLE_TIMEOUT_MIN env vars when cloud sandbox is enabled
Reconciler:
- reconcileSandboxRBAC step between ServiceAccount and Database
- Creates/updates Role + RoleBinding via CreateOrUpdate pattern
Tests:
- 4 new tests covering env var injection, RBAC role/binding construction
- All existing tests pass
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add networkpolicies permission to sandbox RBAC role
The cloud sandbox adapter creates a NetworkPolicy to restrict pod egress
to DNS, HTTPS, SSH, and the Paperclip server only. The sandbox Role
needs create/get/update/patch for networkpolicies to manage this.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: sync Helm chart RBAC with kubebuilder markers for roles/rolebindings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments