I would like to request classic confinement for the ignite snap.
Ignite is a developer tool that helps developers scaffold, build and launch a Cosmos SDK blockchain.
Ignite needs a classic confinement as it requires access to Go and other system installed commands.
This permits to abstract the building of the blockchain for the user and is a core Ignite functionality.
More information on Ignite can be found here: github.com/ignite/cli
Happy to clarify anything you require. You can verify that I am a member of the Ignite GitHub org: https://github.com/orgs/ignite/people
Hi, according to Process for reviewing classic confinement snaps , Classic requests should fall under at least one of the supported categories. Could you please clarify if
ignite fits within any of the supported categories? Thanks.
As it is a development tool, it can fit in this existing category: “tools for local, non-root user driven configuration of/switching to development workspaces/environments” as it abstracts / simplify configuration and building a Cosmos SDK blockchain with a
Ignite does more than that, but this is the due to those features that classic confinement is required. Especially the following criteria: “running arbitrary command (esp if user-configurable such as a developer tool to organize dev environments)”
Hi, do you have any more details on the arbitrary commands run specifically with ignite? I see from the https://docs.ignite.com/welcome/install site that
Go is required, which can be embedded inside the snap and used in strict. Thanks!
Hi, correct but next to
go we need as well buf,
ignite use/interact with the existing
buf on the users machine? or is it installed similarly to the way
Go is installed? If the latter, these packages can also be embedded/staged with the snap.
We use/execute the installed
Ignite does not install them.
hi, what happens if users don’t have all of these dependencies installed? Does
ignite then handle installation or still not install? Perhaps it could be better to ship and stage these dependencies along with
Go inside the snap so that there are the benefits of an stable runtime environment without switching to classic.
Thanks again for answering my questions, just want to explore potential non-classic solutions.
If the user does not have it installed, it crashes.
I will check again if adding these dependencies along will keep Ignite 100% working.
I’ll come back here with updates.
I have been using the following in the part but ignite still cannot execute go or node.
hi @julienrbrt, I have investigated further and because of the way
node , etc need to interact with
ignite, classic confinement is needed. Thank you for having a look at potential strict confinement approaches.
ignite fits within more than one of the supported categories for classic confinement as per Process for reviewing classic confinement snaps , including “compliers” and “tools for local, non-root user driven configuration of/switching to development workspaces/environments”. I will begin publisher vetting.
Publisher is now vetted, granting classic to
ignite. This is now live. Thanks!