← Back to team overview

wordpress-charmers team mailing list archive

[Merge] ~barryprice/charm-k8s-wordpress/+git/charm-k8s-wordpress:master into charm-k8s-wordpress:master

 

Barry Price has proposed merging ~barryprice/charm-k8s-wordpress/+git/charm-k8s-wordpress:master into charm-k8s-wordpress:master.

Commit message:
Add openstack-objectstorage (swift!) support

Companion MP to https://code.launchpad.net/~tcuthbert/charm-k8s-wordpress/+git/wordpress-k8s-image-builder/+merge/382913

Requested reviews:
  Canonical IS Reviewers (canonical-is-reviewers)
  Wordpress Charmers (wordpress-charmers)

For more details, see:
https://code.launchpad.net/~barryprice/charm-k8s-wordpress/+git/charm-k8s-wordpress/+merge/383120
-- 
Your team Wordpress Charmers is requested to review the proposed merge of ~barryprice/charm-k8s-wordpress/+git/charm-k8s-wordpress:master into charm-k8s-wordpress:master.
diff --git a/config.yaml b/config.yaml
index 8e2081c..7bc9cb2 100644
--- a/config.yaml
+++ b/config.yaml
@@ -90,3 +90,9 @@ options:
 
           "site-sysadmins=administrator,site-editors=editor,site-executives=editor"
     default: ""
+  wp_plugin_openstack-objectstorage_config:
+    type: string
+    description: |
+      YAML dictionary with keys named after wordpress settings and the desired values.
+      Please note that the settings will be reset to values provided every time hooks run
+    default: ""
diff --git a/mod/operator b/mod/operator
index 11a1849..60c43f8 160000
--- a/mod/operator
+++ b/mod/operator
@@ -1 +1 @@
-Subproject commit 11a1849205d750e28aaa4a13938b5864659f928b
+Subproject commit 60c43f81e36139ab4044c185247eb27fe389bce6
diff --git a/src/charm.py b/src/charm.py
index 3cfc259..48396f1 100755
--- a/src/charm.py
+++ b/src/charm.py
@@ -42,6 +42,20 @@ def generate_pod_config(config, secured=True):
     pod_config["WORDPRESS_DB_PASSWORD"] = config["db_password"]
     if config.get("wp_plugin_akismet_key"):
         pod_config["WP_PLUGIN_AKISMET_KEY"] = config["wp_plugin_akismet_key"]
+    if config.get("wp_plugin_openstack-objectstorage_config"):
+        # actual plugin name is 'openstack-objectstorage', but 'swift' will do us!
+        wp_plugin_swift_config = config.get("wp_plugin_openstack-objectstorage_config")
+        pod_config["SWIFT_AUTH_URL"] = wp_plugin_swift_config.get('auth-url')
+        pod_config["SWIFT_BUCKET"] = wp_plugin_swift_config.get('bucket')
+        pod_config["SWIFT_PASSWORD"] = wp_plugin_swift_config.get('password')
+        pod_config["SWIFT_PREFIX"] = wp_plugin_swift_config.get('prefix')
+        pod_config["SWIFT_REGION"] = wp_plugin_swift_config.get('region')
+        pod_config["SWIFT_TENANT"] = wp_plugin_swift_config.get('tenant')
+        pod_config["SWIFT_URL"] = wp_plugin_swift_config.get('url')
+        pod_config["SWIFT_USERNAME"] = wp_plugin_swift_config.get('username')
+        pod_config["SWIFT_COPY_TO_SWIFT"] = wp_plugin_swift_config.get('copy-to-swift')
+        pod_config["SWIFT_SERVE_FROM_SWIFT"] = wp_plugin_swift_config.get('serve-from-swift')
+        pod_config["SWIFT_REMOVE_LOCAL_FILE"] = wp_plugin_swift_config.get('remove-local-file')
 
     return pod_config
 

References