feat(memcached): allow overriding namespace
diff --git a/atmosphere/flows.py b/atmosphere/flows.py
index c5f5d0d..3076306 100644
--- a/atmosphere/flows.py
+++ b/atmosphere/flows.py
@@ -136,17 +136,17 @@
         flow.add(
             openstack_helm.ApplyReleaseSecretTask(
                 config=config,
-                namespace=constants.NAMESPACE_OPENSTACK,
+                namespace=config.memcached.namespace,
                 chart="memcached",
             ),
             openstack_helm.ApplyHelmReleaseTask(
-                namespace=constants.NAMESPACE_OPENSTACK,
+                namespace=config.memcached.namespace,
                 repository=constants.HELM_REPOSITORY_OPENSTACK_HELM_INFRA,
                 name="memcached",
                 version="0.1.12",
             ),
             v1.ApplyServiceTask(
-                namespace=constants.NAMESPACE_OPENSTACK,
+                namespace=config.memcached.namespace,
                 name="memcached-metrics",
                 labels={
                     "application": "memcached",
diff --git a/atmosphere/models/config.py b/atmosphere/models/config.py
index fc47715..abf306a 100644
--- a/atmosphere/models/config.py
+++ b/atmosphere/models/config.py
@@ -88,6 +88,7 @@
 
 
 class MemcachedChartConfig(ChartConfig):
+    namespace = types.StringType(default="openstack", required=True)
     secret_key = types.StringType(required=True)
     images = types.ModelType(MemcachedImagesConfig, default=MemcachedImagesConfig())