# WordPress operator

A [Juju](https://juju.is/) [charm](https://canonical.com/juju/docs/juju-cli/3.6/reference/charm/#charm) deploying and managing WordPress on Kubernetes. [WordPress](https://wordpress.org/) is the world’s most popular website builder, and it’s free and open-source.

Like any Juju charm, this charm supports one-line deployment, configuration, integration,
scaling, and more. For WordPress, this includes:

* Horizontal scaling with OpenStack Swift object storage
* Plugin and theme management through Juju configuration
* Web application firewall (ModSecurity) and Akismet spam protection
* Observability through the [Canonical Observability Stack (COS)](https://documentation.ubuntu.com/observability/latest/)

The WordPress charm allows for deployment on many different Kubernetes platforms, from
[MicroK8s](https://canonical.com/microk8s) to [Charmed Kubernetes](https://ubuntu.com/kubernetes)
to public cloud Kubernetes offerings.

This charm will make operating WordPress straightforward for DevOps or SRE teams through Juju’s
clean interface.

## In this documentation

|                         |                                                                                                                                                                                                                                                                                                                                                                                                                           |
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Get started**         | [Deploy the WordPress charm](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/tutorial/index.html.md#tutorial-index)                                                                                                                                                                                                                                                                                                                                  |
| **Deployment**          | [Retrieve initial credentials](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/retrieve-initial-credentials/index.html.md#how-to-retrieve-initial-credentials) | [Configure initial settings](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/configure-initial-settings/index.html.md#how-to-configure-initial-settings) | [Configure hostname](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/configure-hostname/index.html.md#how-to-configure-hostname) | [Configurations](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/configurations/index.html.md#reference-configurations)      |
| **Operations**          | [Integrate with COS](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/integrate-with-cos/index.html.md#how-to-integrate-with-cos) | [Upgrade](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/upgrade/index.html.md#how-to-upgrade) | [Redeploy](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/redeploy/index.html.md#how-to-redeploy) | [Relation endpoints](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/relation-endpoints/index.html.md#reference-relation-endpoints) | [Actions](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/actions/index.html.md#reference-actions) |
| **Scaling and storage** | [Configure object storage](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/configure-object-storage/index.html.md#how-to-configure-object-storage) | [External access requirements](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/external-access/index.html.md#reference-external-access)                                                                                                                                                                                                           |
| **Plugins and themes**  | [Install plugins](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/install-plugins/index.html.md#how-to-install-plugins) | [Install themes](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/install-themes/index.html.md#how-to-install-themes) | [Plugins](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/plugins/index.html.md#reference-plugins) | [Themes](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/themes/index.html.md#reference-themes)                                                                                           |
| **Design**              | [Charm architecture](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/charm-architecture/index.html.md#reference-charm-architecture)                                                                                                                                                                                                                                                                                                                            |
| **Security**            | [Overview](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/explanation/security-overview/index.html.md#explanation-security-overview) | [Enable WAF](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/enable-waf/index.html.md#how-to-enable-waf) | [Enable antispam](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/enable-antispam/index.html.md#how-to-enable-antispam) | [Rotate secrets](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/rotate-secrets/index.html.md#how-to-rotate-secrets)                                                                         |

## How this documentation is organized

This documentation uses the [Diátaxis documentation structure](https://diataxis.fr/).

* The [Tutorial](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/tutorial/index.html.md#tutorial-index) takes you step-by-step through a basic deployment of the WordPress charm.
* The [How-to guides](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/index.html.md#how-to-index) assume you have basic familiarity with the WordPress charm. Learn more about setting up, using, maintaining, and contributing to this charm.
* [Reference](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/reference/index.html.md#reference-index) provides a guide to actions, configurations, relations, and other technical details.
* [Explanation](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/explanation/index.html.md#explanation-index) includes topic overviews, background and context, and detailed discussion.
* The [Changelog](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/changelog/index.html.md#changelog) holds all notable changes to the charm.

## Contributing to this documentation

Documentation is an important part of this project, and we take the same open-source approach to the documentation as the code. As such, we welcome community contributions, suggestions, and constructive feedback on our documentation. See [How to contribute](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/contribute/index.html.md#how-to-contribute) for more information.

If there’s a particular area of documentation that you’d like to see that’s missing, please [file a bug](https://github.com/canonical/wordpress-k8s-operator/issues).

## Project and community

The WordPress Operator is a member of the Ubuntu family. It’s an open-source project that warmly welcomes community projects, contributions, suggestions, fixes, and constructive feedback.

### Governance and policies

- [Code of conduct](https://ubuntu.com/community/code-of-conduct)

### Get involved

- [Get support](https://discourse.charmhub.io/)
- [Join our online chat](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)
- [Contribute](https://canonical.com/juju/docs/wordpress-k8s-charm/latest/how-to/contribute/index.html.md#how-to-contribute)

Thinking about using the WordPress Operator for your next project? [Get in touch](https://matrix.to/#/#charmhub-charmdev:ubuntu.com)!
