Deploying a snap as a charm

I was exploring ideas about how we could deliver charms recently, and wanted to try making a snap that acts like a charm, and a basic charm that wraps that snap and manages calling out to it, I give you: snapped-charm.

This example is also using a compiled language (Rust) because I wanted to explore the idea of using snaps to support independent architectures reasonably easily, something which is “easy” in Python or Bash, but less easy in compiled languages. I wanted to take the opportunity of using a snap to deliver the charm because a snap would let us be confident that all of a charm’s dependencies are available inside of the snap, rather than having to manage a wheelhouse or installing dependencies at install time!

4 Likes

Cool!

Today I actually stumbled upon a charm that’s using a snap to simplify things cs:~omnivector/redis-17 from @jamesbeedy.

@timClicks do you mean that it’s deploying a snap rather than an apt package?