Add mongodb service metadata
Change-Id: Ibc504d1267e4d02681a11df6609035428d0f5ffd
diff --git a/docker/swarm/stack/janitor_monkey.yml b/docker/swarm/stack/janitor_monkey.yml
new file mode 100644
index 0000000..2d5f4a7
--- /dev/null
+++ b/docker/swarm/stack/janitor_monkey.yml
@@ -0,0 +1,24 @@
+parameters:
+ _param:
+ docker_janitor_monkey_replicas: 1
+ docker_image_mongodb: library/mongo:3.4
+ docker_mongodb_admin_username: admin
+ docker_mongodb_admin_password: password
+ docker:
+ client:
+ stack:
+ janitor_monkey:
+ environment:
+ MONGO_INITDB_ROOT_USERNAME: ${_param:docker_mongodb_admin_username}
+ MONGO_INITDB_ROOT_PASSWORD: ${_param:docker_mongodb_admin_password}
+ service:
+ mongodb:
+ image: ${_param:docker_image_mongodb}
+ deploy:
+ replicas: ${_param:docker_janitor_monkey_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_mongodb_exposed_port}:${_param:haproxy_mongodb_bind_port}
+ volumes:
+ - /srv/volumes/mongodb:/data
diff --git a/glusterfs/client/volume/mongodb.yml b/glusterfs/client/volume/mongodb.yml
new file mode 100644
index 0000000..1b2fd4f
--- /dev/null
+++ b/glusterfs/client/volume/mongodb.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ mongodb_glusterfs_service_host: ${_param:glusterfs_service_host}
+ mongodb_glusterfs_node01_address: ${_param:cluster_node01_address}
+ mongodb_glusterfs_node02_address: ${_param:cluster_node02_address}
+ mongodb_glusterfs_node03_address: ${_param:cluster_node03_address}
+ glusterfs:
+ client:
+ volumes:
+ mongodb:
+ path: /srv/volumes/mongodb
+ server: ${_param:mongodb_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:mongodb_glusterfs_node01_address}:${_param:mongodb_glusterfs_node02_address}:${_param:mongodb_glusterfs_node03_address}"
diff --git a/glusterfs/server/volume/mongodb.yml b/glusterfs/server/volume/mongodb.yml
new file mode 100644
index 0000000..a9c69f7
--- /dev/null
+++ b/glusterfs/server/volume/mongodb.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ mongodb:
+ storage: /srv/glusterfs/mongodb
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/mongodb
+ - ${_param:cluster_node02_address}:/srv/glusterfs/mongodb
+ - ${_param:cluster_node03_address}:/srv/glusterfs/mongodb
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/haproxy/proxy/listen/oss/mongodb.yml b/haproxy/proxy/listen/oss/mongodb.yml
new file mode 100644
index 0000000..d4086cd
--- /dev/null
+++ b/haproxy/proxy/listen/oss/mongodb.yml
@@ -0,0 +1,51 @@
+parameters:
+ _param:
+ haproxy_mongodb_bind_host: ${_param:haproxy_bind_address}
+ haproxy_mongodb_bind_port: 27017
+ haproxy_mongodb_exposed_port: 37017
+ haproxy_mongodb_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ mongodb:
+ mode: tcp
+ balance: source
+ options:
+ - tcp-check
+ health-check:
+ tcp:
+ enabled: true
+ options:
+ - send-binary 39000000 # Message Length (57)
+ - send-binary EEEEEEEE # Request ID (random value)
+ - send-binary 00000000 # Response To (nothing)
+ - send-binary d4070000 # OpCode (Query)
+ - send-binary 00000000 # Query Flags
+ - send-binary 746573742e # fullCollectionName (test.$cmd)
+ - send-binary 24636d6400 # continued
+ - send-binary 00000000 # NumToSkip
+ - send-binary FFFFFFFF # NumToReturn
+ - send-binary 13000000 # Document Length (19)
+ - send-binary 01 # Type (Double)
+ - send-binary 70696e6700 # Ping:
+ - send-binary 000000000000f03f # Value : 1
+ - send-binary 00 # Term
+ - expect string ok
+ binds:
+ - address: ${_param:haproxy_mongodb_bind_host}
+ port: ${_param:haproxy_mongodb_bind_port}
+ ssl: ${_param:haproxy_mongodb_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: check port ${_param:haproxy_mongodb_exposed_port}
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: backup check port ${_param:haproxy_mongodb_exposed_port}
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: backup check port ${_param:haproxy_mongodb_exposed_port}