← Back to issue list

Action parameters and config options represent integers in two different ways (`int` vs `integer`) in charmcraft.yaml

View original Github issue

Metadata

Project
charmcraft
Number
#2067
Type
issue
State
open
Author
gruyaume
Labels
—
Created
Updated
Closed
—

Current evaluation

Config options accept `type: int` while action params accept `type: integer` in charmcraft.yaml. Maintainer confirmed charmcraft won't change values until upstream Juju accepts `integer` in config.yaml; upstream Juju issue filed.

Suggested action: keep open

Reason: Maintainer @lengau explicitly triaged this: "the `config` and `actions` items are based on Juju's `config.yaml` and `actions.yaml` files, so we don't want to change the values", and reported the change upstream at juju/juju#19979. Charmcraft's model still enforces the split (charmcraft/models/config.py: `type: Literal["int"]` for JujuIntOption, while action param docs/tests use `type: integer`), so nothing has changed in-repo and the issue remains valid — it is simply blocked on upstream, not stale or invalid.

Evaluated by: mr-cal-bot

Impact: 25 Quick Win: 7 Complexity: 45 Confidence: 80 Actionability: 50

Issue body

### What needs to get done ## Description Action parameters and config options represent integers in two different ways in charmcraft.yaml. Configuration option accept the type `int`, while action parameters accept the type `integer`. We're talking about the same concept here, there is no good reason to have two ways of talking about integers. ## Reference ```charmcraft.yaml ... config: options: subscriber-count: type: int default: 1 description: Number of subscribers to simulate actions: my-action: description: Run my action params: timeout: type: integer description: Time to wait for the simulation to complete (in seconds). The more subscribers, the longer the simulation will take. default: 300 ``` ### Why it needs to get done The same concept is represented in two different ways, unnecessarily confusing users.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 25
Quick Win: 7
Complexity: 45
Confidence: 80
Actionability: 50
keep open Config options accept `type: int` while action params accept `type: integer` in charmcraft.yaml. Maintainer confirmed charmcraft won't change values until upstream Juju accepts `integer` in config.yaml; upstream Juju issue filed.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 11
Complexity: 10
Confidence: 85
Actionability: 40
keep open Inconsistent integer type naming (int vs integer) between charmcraft config options and action parameters, currently blocked by Juju's upstream schema.
qwen/qwen3.8-27b
Impact: 25
Quick Win: 14
Staleness: 55
Complexity: 45
Confidence: 82
Support Request: 10
keep open charmcraft.yaml uses 'int' for config options but 'integer' for action params. Maintainer confirmed this mirrors Juju's config.yaml/actions.yaml and reported the change to Juju (juju/juju#19979). Blocked on Juju accepting 'integer' in config.yaml.
qwen/qwen3.6-35b-a3b
Staleness: 70
Complexity: 15
Confidence: 85
Support Request: 10
keep open Inconsistency between int and integer types in charmcraft.yaml config vs actions. Maintainer acknowledged it is tied to Juju upstream and reported the change there; currently waiting on Juju.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 15
Confidence: 90
Support Request: 5
keep open Inconsistency between config.options using int and actions.params using integer in charmcraft.yaml. Acknowledged by maintainers but blocked on upstream Juju changes to unify the type names.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 35
Confidence: 90
Support Request: 0
keep open Inconsistency between config.options using int and actions.params using integer in charmcraft.yaml. Maintainer notes it is dictated by Juju upstream and has been reported there. Awaiting upstream resolution.

Update history

No update history recorded yet.

Related work

  • Blocked By: juju#19979 (confidence 90%)

    Cited directly by @lengau in the 2025-06-13 comment as the upstream request for Juju to accept `integer` in config.yaml; until it lands, charmcraft cannot unify the two spellings without breaking Juju compatibility.

Related issues

No related issues found above the similarity threshold.