← Back to issue list

feat: go-framework init profile and extension

View original Github issue

Metadata

Project
charmcraft
Number
#1800
Type
pull request
State
merged
Author
javierdelapuente
Labels
Created
Updated
Closed

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.
81%
#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.
77%
#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.
72%
#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.
70%
#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.
70%