Coder workspace templates for code.bert133.dev https://code.bert133.dev
  • HCL 89.5%
  • Dockerfile 10.5%
Find a file
Sean Edwards 0c1524143d
All checks were successful
push-templates / build-images (frc-2026) (push) Successful in 1m35s
push-templates / build-images (frc-2027) (push) Successful in 1m44s
push-templates / push-templates (push) Successful in 34s
chore(templates): add editor helper extensions and disable chat agent
- Adds GitLens, EmojiSense, Markdown All in One, and markdownlint to the
  code-server extension list for both templates.
- Sets chat.agent.enabled=false in the shared baseline settings so the
  chat agent UI stays off alongside Copilot and the chat command center.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:23:05 -04:00
.forgejo/workflows feat(templates): pin workspace image by git SHA via template variable 2026-04-22 18:09:23 -04:00
frc-2026 chore(templates): add editor helper extensions and disable chat agent 2026-04-22 18:23:05 -04:00
frc-2027 chore(templates): add editor helper extensions and disable chat agent 2026-04-22 18:23:05 -04:00
shared chore(templates): add editor helper extensions and disable chat agent 2026-04-22 18:23:05 -04:00
.gitignore feat(templates): add shared code-server settings with host-persisted user dir 2026-04-22 17:33:23 -04:00
README.md feat: custom per-season workspace images with baked WPILib extension 2026-04-22 11:00:15 -04:00

bert/coder-templates

Terraform workspace templates for the BERT 133 Coder deployment.

A Forgejo Actions workflow (.forgejo/workflows/push-templates.yaml) runs on every push to main and reconciles the templates in this repo into the in-cluster Coder at https://code.bert133.dev via coder templates push.

This is the only path by which template state reaches Coder — no mentor pushes templates from a laptop. The workflow authenticates as the bert-ci Coder user (Template Admin) via a long-lived token held in the CODER_SESSION_TOKEN Forgejo Actions secret on this repo.

See the design plan in the bert/server repo: docs/design-plans/2026-04-21-workspaces.md.

Workflow jobs

push-templates.yaml runs two jobs on every push to main:

  1. build-images — for each template with a Dockerfile, builds and pushes a custom workspace image to the Forgejo container registry at forge.bert133.dev/bert/<template>:{latest,<sha>}. Authenticates with the auto-injected GITHUB_TOKEN (Forgejo grants workflow runs write:package scope for the owning org).
  2. push-templates — reconciles Terraform templates into Coder via coder templates push. Runs after build-images so template image = references always point at an already-pushed tag.

Adding a template

  1. Create a new top-level directory (e.g. frc-2028/).
  2. Add a Dockerfile (optional — only if you need a custom image) and a main.tf declaring the coder/coder provider, coder_workspace data source, and coder_agent resource. If the template uses a custom image, also add the template name to the matrix.template list in .forgejo/workflows/push-templates.yaml.
  3. Commit, push to a feature branch, open a PR.
  4. On merge to main, the workflow builds the image (if present) and then pushes every template. Coder hashes template contents and skips unchanged ones.

Templates

  • frc-2026/ — FRC 2026 season (roboRIO, JDK 17, WPILib extension v2026.2.1). Current-season stable stack.
  • frc-2027/ — FRC 2027 season (systemcore, JDK 25, WPILib extension v2027.0.0-alpha-2). Pre-release; expect rough edges.