feat: go-framework init profile and extension
Metadata
Current evaluation
Merged. Adds go-framework init profile and extension to charmcraft per ISD153. Uses Ubuntu 24.04 base, restricts to amd64, and refactors 12-factor extensions to inherit from _TwelveFactorBase. Approved by three reviewers and passed CI.
Suggested action: —
No scores available.
Issue body
This PR implements the spec ISD153, "12-Factor Go Support" for charmcraft.
For that, a new init profile called "go-framework" and a new go extension, called "go-framework" are needed. These additions are similar to the flask and django init profiles and extensions.
For the Go profile, the base 24.04 is used.
Code in extensions is refactored, so all 12 factor extensions, that are similar, inherit from _TwelveFactorBase.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds go-framework init profile and extension to charmcraft per ISD153. Uses Ubuntu 24.04 base, restricts to amd64, and refactors 12-factor extensions to inherit from _TwelveFactorBase. Approved by three reviewers and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds go-framework init profile and extension to charmcraft, targeting base 24.04 and amd64 only. Refactors twelve-factor extensions to inherit from _TwelveFactorBase. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after introducing a go-framework init profile and extension for charmcraft. The implementation follows ISD153, uses Ubuntu 24.04, restricts support to amd64, and refactors twelve-factor extensions to inherit from _TwelveFactorBase. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1868 feat: fastapi-framework init profile and extension | charmcraft | merged | Merged. Adds the fastapi-framework init profile and extension to charmcraft, implementing the ISD160 spec with base 24.04. Includes updated tests for flask, fastapi, and go frameworks. Approved by three reviewers. | |
| #631 Add go init profile and go-extension | rockcraft | merged | Merged following three approvals and passing CI. Introduces the go-framework init profile and extension for rockcraft, implementing ISD153 12-Factor Go Support. Base platforms were narrowed to amd64, and flask/django extensions were updated for parity. | |
| #2311 docs(templates): list all 12-factor profiles in init help | charmcraft | merged | Merged PR updates charmcraft help init to list all 12-factor profiles. Incorporated reviewer feedback to add Kubernetes to extension descriptions. Approved by three reviewers and merged after CI checks passed. | |
| #1259 feat(extensions): extension dispatch for 12-factor extensions. | rockcraft | merged | Merged after fixing CI failures and review feedback. Adds V2 extension classes and factory dispatch for all 12-factor frameworks targeting ubuntu@26.04. Prepares for transparent paas-charm 2.0 dispatch while preserving V1 behavior. | |
| #2873 feat(init): support base-specific profiles | charmcraft | open | Adds base-specific profile support to `charmcraft init` via `--base` flag, enabling Ubuntu 26.04 framework template selection. Approved by 1 reviewer with 0 unresolved comments, but CI has failures on some Ubuntu versions and minimum dependencies. |