Platforms and prerequisites¶
Supported architectures¶
The charm and its app-image resource on Charmhub are built for AMD64
only. Building
from source works on AMD64 and ARM64: app/rockcraft.yaml and
app/charm/charmcraft.yaml declare both, and Improve the code covers
the build. The observability charms are published for AMD64 only, so
How to integrate with COS Lite needs an AMD64 machine as well.
Required tooling¶
Deploying the charm requires the following snaps:
jujufrom3/stablemicrok8sfrom1.36-strict/stable
Checking a deployment from the command line uses curl, and using the
service from a Go program, as the tutorial does in its last step, needs
go from latest/stable and git from the Ubuntu archive.
Building from source, covered by Set up a development environment and Improve the code, adds:
rockcraftfromlatest/stablecharmcraftfromlatest/stablelxdfrom its default channel, initialized withlxd init --autotoxfor the charm tests
Both craft tools need experimental extensions enabled, which
requires ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true
and CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true.
The documentation tests last verified the guides with Charmcraft 4.4.2,
Rockcraft 1.20.0, Juju 3.6.28, MicroK8s 1.36.2, LXD 5.21.7, and Go 1.26.7
from the go snap. Newer releases from the same channels are expected to
work; older releases are untested.
The artifacts pin what they are built on: the charm uses the ubuntu@24.04
base, the rock builds on ubuntu@24.04 but ships with base: bare, the
Go module requires Go 1.21.2 or later, and the charm depends on ops 3.8
and paas-charm 1.x.
MicroK8s add-ons¶
A deployment on MicroK8s needs these add-ons:
dns, which resolves names inside the clusterhostpath-storage, which provides the volumes the Juju controller requestsingress, which runs the ingress controller that publishes the service
Building from source also needs registry, the local image registry on
port 32000 that receives the rock.