Skip to content

canonical/intro-to-charming-mc

Repository files navigation

Intro to Charming Masterclass charm

This is a demo charm developed for a Canonical Masterclass in January 2024. It deploys nginx on machine substrates. The operation capability is basically nihil.

☢⚠ This is not a production charm! ⚠☢

Repository instructions

The repository contains 4 branches:

  • part-1-basic-setup
  • part-2-integrations
  • part-3-observability

Each branch corresponds to a hour-long masterclass section and is designed so that, if you're lagging behind a section and the masterclass is moving on to the next, you can check out the corresponding branch and not be left behind.

Each branch/sections covers a selection of core charming topics.

Prerequisites

part-1-basic-setup

Topics:

part-2-integrations

Topics:

  • charmcraft create-lib and charm lib creation
  • charmcraft.yaml and metadata editing
  • intro to provider/requirer relation wrapper pattern
  • tester charms for integration testing
  • scenario testing for relation code

part-3-observability

Topics:

  • working with grafana-agent-operator
  • alert rules, dashboards, and grafana agent library API
  • verification: pack, deploy, CMR, observe!

part-4-production

This part does not have a corresponding branch as it is not as code-heavy as the others.

Topics:

Some information I forgot to add to the readme.

About

Demo charm for the Introduction to Charming masterclass.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages