Release-k8s-charm in need of classic confinement

Hello! I have made a little utility I call release-k8s-charm that interacts with charmcraft and docker to assist in packing, uploading (+ uploading the OCI images) and releasing K8s operator charms. By that description I believe it requires classic confinement.

The source code is over at for review.

As per the Process for reviewing classic confinement snaps can you describe a bit more why the snap requires classic confinement? FWIW the docker plug allows a snap to use docker, so that may help, however I notice that the charmcraft snap has classic confinement itself and so if you snap expects to call charmcraft then this will only be possible if your snap also has classic confinement.

However, it is not sufficient for a snap to need classic confinement to then be granted it - it also needs to fit within one of the supported categories. Can you please provide more details? Thanks.

Yep, the docker interface is indeed not sufficient for the purpose.

I had remembered that build tools would be a fit to the criteria, but the wording appears to mention “IDEs” and “compilers” specifically. Basically, it’s a build and deploy tool.

(That docker interface does make me think though that if need be I could make the tool work with the docker interface and echo the rest of the commands, which a shell outside confinement would then be responsible to evaluate.)

I suppose another motivating, analogous example for a tool vaguely in the same category is terraform, which is classically confined. :smiley:

Hi @mz2.

Granting classic is not something we do lightly, and in this instance given that you have already identified an idea for re-working the utility to use the docker interface and output some commands for consumption by another script/shell, I’m going to ask that you explore that option first, before we re-consider granting classic.

I should add, it’s not entirely out of the question for release-k8s-charm to be granted classic, just that while alternate ideas exist to fit within the confinement model we should explore those. Hopefully in this instance because you’re the developer of the utility, you can develop a workflow that’s compatible.

Hi @mz2,

Waiting for the information from your end. Let us know if you’re facing any difficulties/issues developing a workflow using docker interface.


@mz2, ping. Can you please provide the requested information?

Sorry for the delay. I’ll have a go making this happen using the docker interface and making this output the commands as opposed to execute them.

Hey @mz2 - ping, is there any updates regarding this request? Thanks

hey @mz2, ping, Let us know if you’re facing any difficulties/issues.


@mz2 hey,

Any updates on this request? Apologize to ping you again, but we wanna make sure we are properly handling every open request.

If classic is not needed anymore, maybe we can even remove this request from the queue, and then you can write again if you experience any further issue using the docker interface instead. Sounds good to you?


@mz2 - since we’ve not heard back from you, we are removing this request from our review queue. When you have more time to respond, simply do so here and we can add the request back to the queue. Thanks