Requesting approval to use classic confinement for Uplift snap

I have created an application called Uplift that can perform automated semantic versioning based on the Conventional Commits used within commit messages.

For this application to work, it needs to modify files within a users repository and push changes back to a remote using the Git client. From reading the documentation, I understand that I need to request classic confinement.

Please let me know if there is anything I need to do.

Hey @ga-paul-t,

So if uplift needs to modify files within a users repository, it should be enough to plug some interfaces that can provide write access to typical locations where users store code repositories, like home, personal-files or even system-files.

Which are the exact issues that are preventing uplif to run under strict confinement?

Thanks!

@emitorino thanks for coming back to me. I will take a look

@emitorino this could be a lack of understanding on my part of how snap works. This is the first time I have used it. I have looked at those interfaces and it seems they would provide exactly what I need. Ultimately uplift needs access to git as it will manage tags and push changes back to a remote. It also needs access to wherever the user clones their repository, which I imagine will typically be their home folder.

I guess this is achievable under strict confinement? But it feels like auto-connecting those interfaces are required? Can a snap invoke other applications like git? Or would you have to explicitly specify paths it can access?

@ga-paul-t hey, sorry for the late reply.

That’s great!

Sure! there are several snaps that are already staging git (via stage-packages) as well as requesting access to git directories by plugging the personal-files interface (like Request for system-files connection for icdiff or Please allow use of personal-files for gitl [Was: Classic confinement for gitl]). As you can see granting this access requires voting.

@ga-paul-t since it looks like uplift should be able to work as a strictly confined snap if you ship git inside the snap and then perhaps use personal-files to access the user’s gitconfig etc, then I will remove this request for classic confinement from our internal queue. Please feel free to create an additional forum topic if you need assistance in making uplift work as a strictly confined snap. Thanks.