Charm WordPress-k8s Introduction
Hands-on community workshop
Agenda
Overview
Section 1
About WordPress
Charm Functionality
Application
WordPress-k8s Demo
Steps
Architecture
Section 2
WordPress-k8s Workload Architecture
Technical Architecture
WordPress Charm(Pod)
Prometheus-exporter container
Pebble
WordPress container
Pebble
Charm container
Juju Controller
OpenStack Swift
WordPress Charm(Pod)
Prometheus-exporter container
Pebble
WordPress container
Pebble
Charm container
Juju Controller
OpenStack Swift
Sidecar: prometheus-exporter
Workload: wordpress
Operator : wordpress-operator
WordPress-�operator
WordPress
WordPress Operator
WordPress workload
Podspec yaml
WordPress-k8s Integrations
Provided Integrations
Required Integrations
* <Integration-name>: <interface>
WordPress-k8s Integrations Demo
Steps
Profile
Section 3
WordPress-k8s Profile
Important links
Link to Charmhub | |
Link to repository | |
Usage documentation | |
Contribution guidelines | |
Licensing statement | |
Publisher | @canonical/is-charms |
WordPress-k8s CI Automation
Referring to CI Implementations: Operator-workflows
Code linting or-style checks | ✅Inclusive naming, Shell script lint, Dockerfile lint, Metadata lint, Trivy scanning |
Unit test implementation | ✅Pytest unit tests |
Unit test results | ✅100% coverage |
Integration test implementation | ✅Juju integration tests with all features provided |
Integration test results | ✅100% passing |
Release automation | ✅Release to edge, Publish to stable |
Section 4
Charm Maturity: Stage 1
Important Qualities
Reliability | ✅Unit testing, Integration testing, Upgrade testing |
Collaboration Ready | ✅Consistent naming, Icon, Documentation Readable Code (PEP 8 for general code style, PEP 257 for in-code documentation style, Charm style guide) |
Compliance | ✅Copyright, trademark usage |
Up-to-date | ✅Automated updates of dependencies |
Reachability | ✅Maintained by IS-DevOps team at Canonical |
Charm Maturity: Stage 2
Important capabilities
Sensible defaults | ✅Default enabled WAF and Openstack Object Storage plugins on integration |
Ecosystem compatibility | ✅Compatible with many other juju charms! |
Safe upgrades | ✅Tested upgrades during integration tests before releases |
Scalability | ✅Scaling support with OpenStack plugin |
Observability | ✅Full compatibility with COS |
Thank you. Questions?