@paperclipai/plugin-kubernetes 2026.724.0-canary.2 → 2026.724.0-canary.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -77,6 +77,23 @@ Common optional fields:
77
77
 
78
78
  Full JSON Schema in `src/manifest.ts`.
79
79
 
80
+ ### Task-scoped egress grants
81
+
82
+ Keep provider-level egress defaults narrow, then grant only the destinations a task needs through its execution workspace settings:
83
+
84
+ ```json
85
+ {
86
+ "executionWorkspaceSettings": {
87
+ "networkEgress": {
88
+ "allowFqdns": ["github.com", "pypi.org"],
89
+ "allowCidrs": []
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ The provider creates a workload-owned policy selected by the task run label, so the additional destinations do not become reachable from other concurrent agent pods. Cilium mode enforces FQDNs directly. Standard NetworkPolicy mode cannot express FQDNs, so an FQDN grant permits public IPv4 TCP 80/443 for that run while excluding private, loopback, link-local, CGNAT, and multicast ranges. Network failures that look policy-related include the grant path in stderr, and the sandbox exposes the effective policy through `PAPERCLIP_NETWORK_EGRESS_*` environment variables.
96
+
80
97
  ## What gets created in your cluster
81
98
 
82
99
  For each company that runs agents (created lazily on first dispatch):
@@ -3,6 +3,10 @@ export interface BuildCiliumNetworkPolicyInput {
3
3
  paperclipServerNamespace: string;
4
4
  egressAllowFqdns: string[];
5
5
  egressAllowCidrs: string[];
6
+ name?: string;
7
+ endpointSelector?: Record<string, string>;
8
+ includeBaseRules?: boolean;
9
+ ownerReferences?: Record<string, unknown>[];
6
10
  }
7
11
  export declare function buildCiliumNetworkPolicyManifest(input: BuildCiliumNetworkPolicyInput): Record<string, unknown>;
8
12
  //# sourceMappingURL=cilium-network-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cilium-network-policy.d.ts","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAMD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwD9G"}
1
+ {"version":3,"file":"cilium-network-policy.d.ts","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC7C;AAMD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyD9G"}
@@ -4,37 +4,39 @@
4
4
  // targeted ingress rule scoped to the paperclip-server endpoint selector.
5
5
  export function buildCiliumNetworkPolicyManifest(input) {
6
6
  const egress = [];
7
- egress.push({
8
- toEndpoints: [
9
- { matchLabels: { "k8s:io.kubernetes.pod.namespace": "kube-system", "k8s-app": "kube-dns" } },
10
- ],
11
- toPorts: [
12
- {
13
- ports: [
14
- { port: "53", protocol: "UDP" },
15
- { port: "53", protocol: "TCP" },
16
- ],
17
- rules: { dns: [{ matchPattern: "*" }] },
18
- },
19
- ],
20
- });
7
+ if (input.includeBaseRules !== false)
8
+ egress.push({
9
+ toEndpoints: [
10
+ { matchLabels: { "k8s:io.kubernetes.pod.namespace": "kube-system", "k8s-app": "kube-dns" } },
11
+ ],
12
+ toPorts: [
13
+ {
14
+ ports: [
15
+ { port: "53", protocol: "UDP" },
16
+ { port: "53", protocol: "TCP" },
17
+ ],
18
+ rules: { dns: [{ matchPattern: "*" }] },
19
+ },
20
+ ],
21
+ });
21
22
  if (input.egressAllowFqdns.length > 0) {
22
23
  egress.push({
23
24
  toFQDNs: input.egressAllowFqdns.map((fqdn) => ({ matchName: fqdn })),
24
25
  toPorts: [{ ports: [{ port: "443", protocol: "TCP" }] }],
25
26
  });
26
27
  }
27
- egress.push({
28
- toEndpoints: [
29
- {
30
- matchLabels: {
31
- "k8s:io.kubernetes.pod.namespace": input.paperclipServerNamespace,
32
- app: "paperclip-server",
28
+ if (input.includeBaseRules !== false)
29
+ egress.push({
30
+ toEndpoints: [
31
+ {
32
+ matchLabels: {
33
+ "k8s:io.kubernetes.pod.namespace": input.paperclipServerNamespace,
34
+ app: "paperclip-server",
35
+ },
33
36
  },
34
- },
35
- ],
36
- toPorts: [{ ports: [{ port: "3100", protocol: "TCP" }] }],
37
- });
37
+ ],
38
+ toPorts: [{ ports: [{ port: "3100", protocol: "TCP" }] }],
39
+ });
38
40
  if (input.egressAllowCidrs.length > 0) {
39
41
  egress.push({
40
42
  toCIDRSet: input.egressAllowCidrs.map((cidr) => ({ cidr })),
@@ -44,12 +46,13 @@ export function buildCiliumNetworkPolicyManifest(input) {
44
46
  apiVersion: "cilium.io/v2",
45
47
  kind: "CiliumNetworkPolicy",
46
48
  metadata: {
47
- name: "paperclip-egress-fqdn",
49
+ name: input.name ?? "paperclip-egress-fqdn",
48
50
  namespace: input.namespace,
49
51
  labels: { "paperclip.io/managed-by": "paperclip-k8s-plugin" },
52
+ ...(input.ownerReferences ? { ownerReferences: input.ownerReferences } : {}),
50
53
  },
51
54
  spec: {
52
- endpointSelector: { matchLabels: { "paperclip.io/role": "agent" } },
55
+ endpointSelector: { matchLabels: input.endpointSelector ?? { "paperclip.io/role": "agent" } },
53
56
  egress,
54
57
  },
55
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cilium-network-policy.js","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAOA,4EAA4E;AAC5E,kEAAkE;AAClE,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,UAAU,gCAAgC,CAAC,KAAoC;IACnF,MAAM,MAAM,GAA8B,EAAE,CAAC;IAE7C,MAAM,CAAC,IAAI,CAAC;QACV,WAAW,EAAE;YACX,EAAE,WAAW,EAAE,EAAE,iCAAiC,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;SAC7F;QACD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAChC;gBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;aACxC;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,WAAW,EAAE;YACX;gBACE,WAAW,EAAE;oBACX,iCAAiC,EAAE,KAAK,CAAC,wBAAwB;oBACjE,GAAG,EAAE,kBAAkB;iBACxB;aACF;SACF;QACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,uBAAuB;YAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;SAC9D;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;YACnE,MAAM;SACP;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cilium-network-policy.js","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAWA,4EAA4E;AAC5E,kEAAkE;AAClE,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,UAAU,gCAAgC,CAAC,KAAoC;IACnF,MAAM,MAAM,GAA8B,EAAE,CAAC;IAE7C,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC;YAChD,WAAW,EAAE;gBACX,EAAE,WAAW,EAAE,EAAE,iCAAiC,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;aAC7F;YACD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;wBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;qBAChC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;iBACxC;aACF;SACF,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC;YAChD,WAAW,EAAE;gBACX;oBACE,WAAW,EAAE;wBACX,iCAAiC,EAAE,KAAK,CAAC,wBAAwB;wBACjE,GAAG,EAAE,kBAAkB;qBACxB;iBACF;aACF;YACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,uBAAuB;YAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;YAC7D,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;YAC7F,MAAM;SACP;KACF,CAAC;AACJ,CAAC"}
@@ -13,6 +13,10 @@ export interface BuildNetworkPolicyInput {
13
13
  * "cilium"` for exact FQDN allow-listing in production.
14
14
  */
15
15
  egressAllowFqdns?: string[];
16
+ name?: string;
17
+ podSelector?: Record<string, string>;
18
+ includeBaseRules?: boolean;
19
+ ownerReferences?: Record<string, unknown>[];
16
20
  }
17
21
  export declare function buildNetworkPolicyManifests(input: BuildNetworkPolicyInput): Record<string, unknown>[];
18
22
  //# sourceMappingURL=network-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-policy.d.ts","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AA2BD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAyFrG"}
1
+ {"version":3,"file":"network-policy.d.ts","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC7C;AA2BD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA6FrG"}
@@ -40,35 +40,34 @@ export function buildNetworkPolicyManifests(input) {
40
40
  apiVersion: "networking.k8s.io/v1",
41
41
  kind: "NetworkPolicy",
42
42
  metadata: {
43
- name: "paperclip-egress-allow",
44
43
  namespace: input.namespace,
45
44
  labels: { "paperclip.io/managed-by": "paperclip-k8s-plugin" },
46
45
  },
47
46
  spec: {
48
- podSelector: { matchLabels: { "paperclip.io/role": "agent" } },
47
+ podSelector: { matchLabels: input.podSelector ?? { "paperclip.io/role": "agent" } },
49
48
  policyTypes: ["Egress"],
50
49
  egress: [
51
- {
52
- to: [
53
- {
54
- namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": "kube-system" } },
55
- podSelector: { matchLabels: { "k8s-app": "kube-dns" } },
56
- },
57
- ],
58
- ports: [
59
- { protocol: "UDP", port: 53 },
60
- { protocol: "TCP", port: 53 },
61
- ],
62
- },
63
- {
64
- to: [
65
- {
66
- namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": input.paperclipServerNamespace } },
67
- podSelector: { matchLabels: { app: "paperclip-server" } },
68
- },
69
- ],
70
- ports: [{ protocol: "TCP", port: 3100 }],
71
- },
50
+ ...(input.includeBaseRules === false ? [] : [{
51
+ to: [
52
+ {
53
+ namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": "kube-system" } },
54
+ podSelector: { matchLabels: { "k8s-app": "kube-dns" } },
55
+ },
56
+ ],
57
+ ports: [
58
+ { protocol: "UDP", port: 53 },
59
+ { protocol: "TCP", port: 53 },
60
+ ],
61
+ }]),
62
+ ...(input.includeBaseRules === false ? [] : [{
63
+ to: [
64
+ {
65
+ namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": input.paperclipServerNamespace } },
66
+ podSelector: { matchLabels: { app: "paperclip-server" } },
67
+ },
68
+ ],
69
+ ports: [{ protocol: "TCP", port: 3100 }],
70
+ }]),
72
71
  // NOTE: operator-supplied CIDRs are intentionally NOT port-scoped —
73
72
  // operators may need them for non-HTTP services (e.g. private VCS
74
73
  // mirrors, S3 endpoints, internal artifact registries). Operators
@@ -108,6 +107,10 @@ export function buildNetworkPolicyManifests(input) {
108
107
  ],
109
108
  },
110
109
  };
110
+ egressAllow.metadata.name = input.name ?? "paperclip-egress-allow";
111
+ if (input.ownerReferences) {
112
+ egressAllow.metadata.ownerReferences = input.ownerReferences;
113
+ }
111
114
  return [denyAll, egressAllow];
112
115
  }
113
116
  //# sourceMappingURL=network-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,MAAM,mCAAmC,GAAG;IAC1C,WAAW;IACX,YAAY;IACZ,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF,uEAAuE;AACvE,sEAAsE;AACtE,4EAA4E;AAC5E,wEAAwE;AACxE,wEAAwE;AACxE,sEAAsE;AACtE,YAAY;AACZ,MAAM,UAAU,2BAA2B,CAAC,KAA8B;IACxE,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;SAC9D;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;SACnC;KACF,CAAC;IAEF,MAAM,WAAW,GAA4B;QAC3C,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;SAC9D;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;YACnF,WAAW,EAAE,CAAC,QAAQ,CAAC;YACvB,MAAM,EAAE;gBACN,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3C,EAAE,EAAE;4BACF;gCACE,iBAAiB,EAAE,EAAE,WAAW,EAAE,EAAE,6BAA6B,EAAE,aAAa,EAAE,EAAE;gCACpF,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;6BACxD;yBACF;wBACD,KAAK,EAAE;4BACL,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;4BAC7B,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;yBAC9B;qBACF,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3C,EAAE,EAAE;4BACF;gCACE,iBAAiB,EAAE,EAAE,WAAW,EAAE,EAAE,6BAA6B,EAAE,KAAK,CAAC,wBAAwB,EAAE,EAAE;gCACrG,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,EAAE;6BAC1D;yBACF;wBACD,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;qBACzC,CAAC,CAAC;gBACH,oEAAoE;gBACpE,kEAAkE;gBAClE,kEAAkE;gBAClE,iEAAiE;gBACjE,+DAA+D;gBAC/D,gBAAgB;gBAChB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACvC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;iBAC5B,CAAC,CAAC;gBACH,gEAAgE;gBAChE,0DAA0D;gBAC1D,gEAAgE;gBAChE,+DAA+D;gBAC/D,gEAAgE;gBAChE,4DAA4D;gBAC5D,gEAAgE;gBAChE,qEAAqE;gBACrE,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;oBACrC,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBACzC,CAAC,CAAC;wBACE;4BACE,EAAE,EAAE;gCACF;oCACE,OAAO,EAAE;wCACP,IAAI,EAAE,WAAW;wCACjB,MAAM,EAAE,mCAAmC;qCAC5C;iCACF;6BACF;4BACD,KAAK,EAAE;gCACL,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;gCAC9B,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;6BAC9B;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF;KACF,CAAC;IAED,WAAW,CAAC,QAAoC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,wBAAwB,CAAC;IAChG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACzB,WAAW,CAAC,QAAoC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC5F,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAqMA,QAAA,MAAM,MAAM,mDAuxBV,CAAC;AAEH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA2MA,QAAA,MAAM,MAAM,mDA8zBV,CAAC;AAEH,eAAe,MAAM,CAAC"}
package/dist/plugin.js CHANGED
@@ -14,6 +14,7 @@ import { sandboxCrOrchestrator, SandboxCrTimeoutError, } from "./sandbox-cr-orch
14
14
  import { execInPod, execInPodStreaming, wrapCommandWithEnv } from "./pod-exec.js";
15
15
  import { performSyncIn, performSyncOut } from "./file-sync.js";
16
16
  import { checkLeaseResumable, destroyLeaseResources } from "./lease-lifecycle.js";
17
+ import { appendNetworkEgressDenyHint, createScopedNetworkEgressPolicyOrReleaseWorkload, NETWORK_EGRESS_GRANT_PATH, parseScopedNetworkEgressGrant, } from "./scoped-network-egress.js";
17
18
  import { deriveCompanySlug, deriveNamespaceName, newRunUlidDns, paperclipLabels, } from "./utils.js";
18
19
  // The namespace paperclip-server itself runs in. Used when building
19
20
  // NetworkPolicy manifests so the tenant namespace allows inbound traffic
@@ -303,9 +304,30 @@ const plugin = definePlugin({
303
304
  imagePullSecrets: config.imagePullSecrets,
304
305
  });
305
306
  const { uid: ownerUid } = await orchestrator.claim(clients, namespace, manifest);
307
+ const scopedNetworkEgress = parseScopedNetworkEgressGrant(params.executionWorkspaceSettings);
308
+ const scopedNetworkPolicyName = await createScopedNetworkEgressPolicyOrReleaseWorkload({
309
+ clients,
310
+ namespace,
311
+ mode: config.egressMode,
312
+ runId: params.runId,
313
+ workloadName: jobName,
314
+ ownerReference: {
315
+ apiVersion: isSandboxCrBackend ? "agents.x-k8s.io/v1alpha1" : "batch/v1",
316
+ kind: isSandboxCrBackend ? "Sandbox" : "Job",
317
+ name: jobName,
318
+ uid: ownerUid,
319
+ controller: false,
320
+ blockOwnerDeletion: false,
321
+ },
322
+ grant: scopedNetworkEgress,
323
+ }, () => orchestrator.release(clients, namespace, jobName));
306
324
  // defaultEnv (non-secret base, e.g. the inference base URL) is layered first;
307
325
  // the process-env secrets named by envKeys override it.
308
326
  const adapterEnv = buildAdapterEnv(adapterDefaults);
327
+ adapterEnv.PAPERCLIP_NETWORK_EGRESS_POLICY = "kubernetes-default-deny";
328
+ adapterEnv.PAPERCLIP_NETWORK_EGRESS_GRANT_PATH = NETWORK_EGRESS_GRANT_PATH;
329
+ adapterEnv.PAPERCLIP_NETWORK_EGRESS_ALLOW_FQDNS = scopedNetworkEgress.allowFqdns.join(",");
330
+ adapterEnv.PAPERCLIP_NETWORK_EGRESS_ALLOW_CIDRS = scopedNetworkEgress.allowCidrs.join(",");
309
331
  const bootstrapToken = generateBootstrapToken();
310
332
  // Secret ownerRef: for job backend, the Job owns the Secret (cascade delete).
311
333
  // For sandbox-cr backend, the Sandbox CR owns the Secret.
@@ -331,6 +353,8 @@ const plugin = definePlugin({
331
353
  secretName,
332
354
  phase: "Pending",
333
355
  backend: config.backend,
356
+ scopedNetworkPolicyName,
357
+ scopedNetworkEgress,
334
358
  // Native file sync streams over a pod exec; only the sandbox-cr backend
335
359
  // exposes one. Flag the job backend so the server keeps the base64 fallback
336
360
  // rather than routing its sync to a hook that would reject immediately.
@@ -392,6 +416,12 @@ const plugin = definePlugin({
392
416
  secretName,
393
417
  phase: check.phase,
394
418
  backend: leaseBackend,
419
+ scopedNetworkPolicyName: typeof params.leaseMetadata?.scopedNetworkPolicyName === "string"
420
+ ? params.leaseMetadata.scopedNetworkPolicyName
421
+ : null,
422
+ scopedNetworkEgress: parseScopedNetworkEgressGrant({
423
+ networkEgress: params.leaseMetadata?.scopedNetworkEgress,
424
+ }),
395
425
  // See acquireLease: only the sandbox-cr backend has a pod-exec channel for
396
426
  // native sync, so a resumed job lease must keep the base64 fallback.
397
427
  nativeFileSyncUnsupported: leaseBackend !== "sandbox-cr",
@@ -498,6 +528,9 @@ const plugin = definePlugin({
498
528
  };
499
529
  }
500
530
  const config = kubernetesProviderConfigSchema.parse(params.config);
531
+ const scopedNetworkEgress = parseScopedNetworkEgressGrant({
532
+ networkEgress: lease.metadata?.scopedNetworkEgress,
533
+ });
501
534
  const namespace = typeof lease.metadata?.namespace === "string"
502
535
  ? lease.metadata.namespace
503
536
  : deriveTenantNamespace(config, params.companyId);
@@ -679,7 +712,7 @@ const plugin = definePlugin({
679
712
  exitCode: null,
680
713
  timedOut: true,
681
714
  stdout: "",
682
- stderr: err instanceof Error ? err.message : String(err),
715
+ stderr: appendNetworkEgressDenyHint(err instanceof Error ? err.message : String(err), scopedNetworkEgress),
683
716
  metadata: {
684
717
  provider: "kubernetes",
685
718
  backend: "sandbox-cr",
@@ -693,7 +726,7 @@ const plugin = definePlugin({
693
726
  exitCode: execResult.exitCode,
694
727
  timedOut: false,
695
728
  stdout: execResult.stdout,
696
- stderr: execResult.stderr,
729
+ stderr: appendNetworkEgressDenyHint(execResult.stderr, scopedNetworkEgress),
697
730
  metadata: {
698
731
  provider: "kubernetes",
699
732
  backend: "sandbox-cr",
@@ -742,7 +775,7 @@ const plugin = definePlugin({
742
775
  exitCode: timedOut ? null : status?.phase === "Succeeded" ? 0 : 1,
743
776
  timedOut,
744
777
  stdout: stdoutChunks.join(""),
745
- stderr: stderrChunks.join(""),
778
+ stderr: appendNetworkEgressDenyHint(stderrChunks.join(""), scopedNetworkEgress),
746
779
  metadata: {
747
780
  provider: "kubernetes",
748
781
  backend: "job",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { KubeClients } from "./kube-client.js";
2
+ export declare const NETWORK_EGRESS_GRANT_PATH = "executionWorkspaceSettings.networkEgress";
3
+ export interface ScopedNetworkEgressGrant {
4
+ allowFqdns: string[];
5
+ allowCidrs: string[];
6
+ }
7
+ export declare function parseScopedNetworkEgressGrant(settings: unknown): ScopedNetworkEgressGrant;
8
+ export declare function createScopedNetworkEgressPolicy(input: {
9
+ clients: KubeClients;
10
+ namespace: string;
11
+ mode: "standard" | "cilium";
12
+ runId: string;
13
+ workloadName: string;
14
+ ownerReference: Record<string, unknown>;
15
+ grant: ScopedNetworkEgressGrant;
16
+ }): Promise<string | null>;
17
+ export declare function createScopedNetworkEgressPolicyOrReleaseWorkload(input: Parameters<typeof createScopedNetworkEgressPolicy>[0], releaseWorkload: () => Promise<void>): Promise<string | null>;
18
+ export declare function appendNetworkEgressDenyHint(stderr: string, grant: ScopedNetworkEgressGrant): string;
19
+ //# sourceMappingURL=scoped-network-egress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-network-egress.d.ts","sourceRoot":"","sources":["../src/scoped-network-egress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,eAAO,MAAM,yBAAyB,6CAA6C,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,wBAAwB,CAgBzF;AAED,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,EAAE,wBAAwB,CAAC;CACjC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwCzB;AAED,wBAAsB,gDAAgD,CACpE,KAAK,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAC5D,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAOnG"}
@@ -0,0 +1,86 @@
1
+ import { buildNetworkPolicyManifests } from "./network-policy.js";
2
+ import { buildCiliumNetworkPolicyManifest } from "./cilium-network-policy.js";
3
+ export const NETWORK_EGRESS_GRANT_PATH = "executionWorkspaceSettings.networkEgress";
4
+ export function parseScopedNetworkEgressGrant(settings) {
5
+ if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
6
+ return { allowFqdns: [], allowCidrs: [] };
7
+ }
8
+ const networkEgress = settings.networkEgress;
9
+ if (!networkEgress || typeof networkEgress !== "object" || Array.isArray(networkEgress)) {
10
+ return { allowFqdns: [], allowCidrs: [] };
11
+ }
12
+ const record = networkEgress;
13
+ const strings = (value) => Array.isArray(value)
14
+ ? [...new Set(value.filter((item) => typeof item === "string").map((item) => item.trim()).filter(Boolean))]
15
+ : [];
16
+ return {
17
+ allowFqdns: strings(record.allowFqdns).map((fqdn) => fqdn.toLowerCase()),
18
+ allowCidrs: strings(record.allowCidrs),
19
+ };
20
+ }
21
+ export async function createScopedNetworkEgressPolicy(input) {
22
+ if (input.grant.allowFqdns.length === 0 && input.grant.allowCidrs.length === 0)
23
+ return null;
24
+ const suffix = "-egress";
25
+ const maxWorkloadLength = 253 - suffix.length;
26
+ const workloadName = input.workloadName.length <= maxWorkloadLength
27
+ ? input.workloadName
28
+ : `${input.workloadName.slice(0, maxWorkloadLength - 26)}-${input.workloadName.slice(-25)}`;
29
+ const name = `${workloadName}${suffix}`;
30
+ if (input.mode === "cilium") {
31
+ const manifest = buildCiliumNetworkPolicyManifest({
32
+ namespace: input.namespace,
33
+ paperclipServerNamespace: "",
34
+ egressAllowFqdns: input.grant.allowFqdns,
35
+ egressAllowCidrs: input.grant.allowCidrs,
36
+ name,
37
+ endpointSelector: { "paperclip.io/run-id": input.runId },
38
+ includeBaseRules: false,
39
+ ownerReferences: [input.ownerReference],
40
+ });
41
+ await input.clients.custom.createNamespacedCustomObject({
42
+ group: "cilium.io",
43
+ version: "v2",
44
+ namespace: input.namespace,
45
+ plural: "ciliumnetworkpolicies",
46
+ body: manifest,
47
+ });
48
+ }
49
+ else {
50
+ const [, manifest] = buildNetworkPolicyManifests({
51
+ namespace: input.namespace,
52
+ paperclipServerNamespace: "",
53
+ egressAllowFqdns: input.grant.allowFqdns,
54
+ egressAllowCidrs: input.grant.allowCidrs,
55
+ name,
56
+ podSelector: { "paperclip.io/run-id": input.runId },
57
+ includeBaseRules: false,
58
+ ownerReferences: [input.ownerReference],
59
+ });
60
+ await input.clients.networking.createNamespacedNetworkPolicy({ namespace: input.namespace, body: manifest });
61
+ }
62
+ return name;
63
+ }
64
+ export async function createScopedNetworkEgressPolicyOrReleaseWorkload(input, releaseWorkload) {
65
+ try {
66
+ return await createScopedNetworkEgressPolicy(input);
67
+ }
68
+ catch (policyError) {
69
+ try {
70
+ await releaseWorkload();
71
+ }
72
+ catch (releaseError) {
73
+ throw new AggregateError([policyError, releaseError], "Failed to create scoped network egress policy and release its workload");
74
+ }
75
+ throw policyError;
76
+ }
77
+ }
78
+ export function appendNetworkEgressDenyHint(stderr, grant) {
79
+ if (!/(could not resolve host|network is unreachable|connection timed out|failed to connect|temporary failure in name resolution)/i.test(stderr)) {
80
+ return stderr;
81
+ }
82
+ const allowed = [...grant.allowFqdns, ...grant.allowCidrs];
83
+ const detail = allowed.length > 0 ? ` Current task grant: ${allowed.join(", ")}.` : " No task-scoped destinations are granted.";
84
+ return `${stderr.trimEnd()}\nPaperclip network policy denied or could not route this request.${detail} Request access through ${NETWORK_EGRESS_GRANT_PATH}.\n`;
85
+ }
86
+ //# sourceMappingURL=scoped-network-egress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-network-egress.js","sourceRoot":"","sources":["../src/scoped-network-egress.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -260,6 +260,11 @@ export interface KubernetesLeaseMetadata {
260
260
  phase: "Pending" | "Running" | "Succeeded" | "Failed";
261
261
  /** Which backend provisioned this lease. */
262
262
  backend: "sandbox-cr" | "job";
263
+ scopedNetworkPolicyName: string | null;
264
+ scopedNetworkEgress: {
265
+ allowFqdns: string[];
266
+ allowCidrs: string[];
267
+ };
263
268
  /**
264
269
  * True when this lease's backend has NO data channel for the native file-sync
265
270
  * transport. Native sync streams over a pod exec, which only the `sandbox-cr`
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BvC;;;;;OAKG;;IAQH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASJ,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAEtF;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtD,4CAA4C;IAC5C,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BvC;;;;;OAKG;;IAQH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASJ,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAEtF;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtD,4CAA4C;IAC5C,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,mBAAmB,EAAE;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperclipai/plugin-kubernetes",
3
- "version": "2026.724.0-canary.2",
3
+ "version": "2026.724.0-canary.4",
4
4
  "description": "Kubernetes sandbox provider plugin for Paperclip environments",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/paperclipai/paperclip",
@@ -42,6 +42,6 @@
42
42
  "dependencies": {
43
43
  "@kubernetes/client-node": "^1.0.0",
44
44
  "zod": "^3.24.2",
45
- "@paperclipai/plugin-sdk": "2026.724.0-canary.2"
45
+ "@paperclipai/plugin-sdk": "2026.724.0-canary.4"
46
46
  }
47
47
  }