diff --git a/docs/how-to/redeploy.md b/docs/how-to/redeploy.md new file mode 100644 index 00000000..c44abae2 --- /dev/null +++ b/docs/how-to/redeploy.md @@ -0,0 +1,37 @@ +# How to Redeploy + +This guide provides the necessary steps for migrating an existing WordPress +instance to a new charm instance. + +## Migrate Database + +Follow the instructions +in [the mysql charm migration guide](https://charmhub.io/mysql/docs/h-migrate-cluster-via-restore) +to migrate the content of the WordPress MySQL database. + +## Migrate Media Files + +### Media Files Stored in Kubernetes Storage + +If your media files are stored in Kubernetes +storage (`wp_plugin_openstack-objectstorage_config` is not configured), use the +following steps to migrate your files: + +1. Use the `juju scp` command to transfer files from + the `/var/www/html/wp-content/uploads` directory of the old `wordpress` + container to a local directory. +2. Use the `juju scp` command again to copy these files from the local + directory to the `/var/www/html/wp-content/uploads` directory in the new + WordPress charm instance's `wordpress` container. + +### Media Files Stored in Object Storage + +If your media files are stored in object storage and +the `wp_plugin_openstack-objectstorage_config` is not configured, you have two +options: + +1. Provide the new WordPress charm instance with the same credentials and + connection information for the object storage. This allows the new instance + to automatically access the existing files. +2. Use tools like [rclone](https://rclone.org) to copy files from the old + storage bucket to a new bucket for the new deployment. \ No newline at end of file diff --git a/docs/reference/external-access.md b/docs/reference/external-access.md new file mode 100644 index 00000000..f3f9c10f --- /dev/null +++ b/docs/reference/external-access.md @@ -0,0 +1,23 @@ +# External Access Requirements + +The WordPress charm may need to connect to external services and resources for +certain functionalities. + +## OpenStack Object Storage + +When activated, the WordPress instance will need to connect to configured +OpenStack object storage for uploading and retrieval of media and assets. + +## Akismet Spam Protection Plugin + +The Akismet spam protection plugin, when enabled via the `wp_plugin_akismet_key` +configuration, requires internet access to connect with +the [Akismet API server](https://akismet.com/support/general/connection-issues/). +This connection is essential for verifying and managing spam content. + +## Installing Additional Plugins or Themes + +For the installation of additional plugins or themes, the WordPress instance +must access the main WordPress site to download installation files. Some plugins +or themes might also need internet access to operate correctly after they are +installed. diff --git a/tests/integration/requirements.txt b/tests/integration/requirements.txt index ea4e0a18..25ee2882 100644 --- a/tests/integration/requirements.txt +++ b/tests/integration/requirements.txt @@ -3,7 +3,7 @@ juju>=2.9,<3 kubernetes>=25.3,<26 macaroonbakery==1.3.1 pillow -pytest +pytest==8.1.1 pytest-cov pytest-operator python-keystoneclient diff --git a/tests/integration/requirements_juju3.txt b/tests/integration/requirements_juju3.txt index 423073a8..a574cb2a 100644 --- a/tests/integration/requirements_juju3.txt +++ b/tests/integration/requirements_juju3.txt @@ -3,7 +3,7 @@ juju>=3.2.2 kubernetes>=25.3,<26 macaroonbakery==1.3.1 pillow -pytest +pytest==8.1.1 pytest-cov pytest-operator python-keystoneclient