Skip to content

feat(cfworkers): replace presigned URLs with direct S3 credentials#6

Merged
igoramf merged 11 commits intomainfrom
feat/cfworkers-state
May 8, 2026
Merged

feat(cfworkers): replace presigned URLs with direct S3 credentials#6
igoramf merged 11 commits intomainfrom
feat/cfworkers-state

Conversation

@igoramf
Copy link
Copy Markdown
Collaborator

@igoramf igoramf commented May 7, 2026

The builder job now receives S3 credentials directly (region, access key,
secret key) along with explicit bucket names for logs, artifacts, and state.
Removes the presign layer entirely — no more generating short-lived URLs
in the operator and passing them to the job.

Also adds StateBucket to S3Config and wires S3_STATE_BUCKET through the
Helm generator and chart templates.

@igoramf igoramf changed the title feat(cfworkers): generate presigned state download URL, pass STATE_DO… feat(cfworkers): replace presigned URLs with direct S3 credentials May 7, 2026
@igoramf igoramf force-pushed the feat/cfworkers-state branch from 72e9274 to 9b1b1a8 Compare May 7, 2026 23:56
Remove static S3 credentials from builder jobs. The operator now creates a
ServiceAccount (deco-operator-builders) in the site namespace before each job,
and sets serviceAccountName on the pod spec. Credentials are provided via EKS
Pod Identity, so S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY are no longer passed.

Also adds build.serviceAccount helm value and BUILD_SERVICE_ACCOUNT env var.
nicacioliveira
nicacioliveira previously approved these changes May 8, 2026
Add BUILD_ROLE_ARN env var. The operator sets eks.amazonaws.com/role-arn
on the ServiceAccount via CreateOrUpdate so IRSA credentials are injected
into builder pods automatically.
…or builder pods

Allows targeting a specific node pool and scheduling on tainted nodes,
configurable as operator-level defaults (Helm values / env vars) with
per-site override via spec.build.nodeSelector and spec.build.tolerations.
Also replaces the single BuilderRoleArn with a generic BuilderSAAnnotations
map so any number of ServiceAccount annotations can be injected.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
nicacioliveira
nicacioliveira previously approved these changes May 8, 2026
…and SA annotations support

Updates helm-generator to emit BUILD_NODE_SELECTOR and BUILD_TOLERATIONS env vars,
fixes the $-variable corruption in ReplaceAllString by switching to strings.Replace,
and switches nodeSelector env var to JSON format (consistent with tolerations).
Regenerates CRDs and RBAC via controller-gen to include the new fields.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@igoramf igoramf merged commit 6df1046 into main May 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants