Merge "Add janitor monkey system metadata"
diff --git a/devops_portal/service/janitor_monkey.yml b/devops_portal/service/janitor_monkey.yml
new file mode 100644
index 0000000..73f2e7c
--- /dev/null
+++ b/devops_portal/service/janitor_monkey.yml
@@ -0,0 +1,10 @@
+parameters:
+ devops_portal:
+ config:
+ service:
+ janitormonkey:
+ configure_proxy: true
+ endpoint:
+ address: ${_param:haproxy_janitor_monkey_bind_host}
+ port: ${_param:haproxy_janitor_monkey_bind_port}
+ https: ${_param:haproxy_janitor_monkey_ssl:enabled}
diff --git a/docker/swarm/stack/janitor_monkey.yml b/docker/swarm/stack/janitor_monkey.yml
index 2d5f4a7..426a75c 100644
--- a/docker/swarm/stack/janitor_monkey.yml
+++ b/docker/swarm/stack/janitor_monkey.yml
@@ -4,6 +4,21 @@
docker_image_mongodb: library/mongo:3.4
docker_mongodb_admin_username: admin
docker_mongodb_admin_password: password
+ docker_image_janitor_monkey: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/janitor_monkey:6040
+ janitor_monkey_enabled: true
+ janitor_monkey_dryrun_mode: false
+ janitor_monkey_base_url: http://${_param:haproxy_janitor_monkey_bind_host}:${_param:haproxy_janitor_monkey_bind_port}
+ janitor_monkey_mongodb_host: ${_param:haproxy_mongodb_bind_host}
+ janitor_monkey_mongodb_port: ${_param:haproxy_mongodb_bind_port}
+ janitor_monkey_mongodb_db: mcp_cloud
+ janitor_monkey_mongodb_username: janitor
+ janitor_monkey_mongodb_password: password
+ janitor_monkey_elasticsearch: ${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_binary_bind_port}
+ janitor_monkey_cloudfire_region: RegionOne
+ janitor_monkey_cis_clustername: ${_param:elasticsearch_cluster_name}
+ janitor_monkey_openstack:
+ project_domain_name: default
+ project_name: admin
docker:
client:
stack:
@@ -11,6 +26,24 @@
environment:
MONGO_INITDB_ROOT_USERNAME: ${_param:docker_mongodb_admin_username}
MONGO_INITDB_ROOT_PASSWORD: ${_param:docker_mongodb_admin_password}
+ simianarmy.recorder.mongodb.host: ${_param:janitor_monkey_mongodb_host}
+ simianarmy.recorder.mongodb.port: ${_param:janitor_monkey_mongodb_port}
+ simianarmy.recorder.mongodb.database: ${_param:janitor_monkey_mongodb_db}
+ simianarmy.recorder.mongodb.user: ${_param:janitor_monkey_mongodb_username}
+ simianarmy.recorder.mongodb.password: ${_param:janitor_monkey_mongodb_password}
+ simianarmy.base.url: ${_param:janitor_monkey_base_url}
+ simianarmy.janitor.enabled: ${_param:janitor_monkey_enabled}
+ simianarmy.janitor.leashed: ${_param:janitor_monkey_dryrun_mode}
+ simianarmy.calendar.isMonkeyTime: true
+ simianarmy.janitor.resources.sdb.domain: ${_param:janitor_monkey_mongodb_db}
+ simianarmy.client.cloudfire.cis.hosts: ${_param:janitor_monkey_elasticsearch}
+ simianarmy.client.cloudfire.region: ${_param:janitor_monkey_cloudfire_region}
+ simianarmy.client.cloudfire.cis.clustername: ${_param:janitor_monkey_cis_clustername}
+ simianarmy.client.cloudfire.identityEndpoint: ${_param:janitor_monkey_openstack:auth_url}
+ simianarmy.client.cloudfire.accountKey: ${_param:janitor_monkey_openstack:username}
+ simianarmy.client.cloudfire.secretKey: ${_param:janitor_monkey_openstack:password}
+ simianarmy.client.cloudfire.domain: ${_param:janitor_monkey_openstack:project_domain_name}
+ simianarmy.client.cloudfire.project: ${_param:janitor_monkey_openstack:project_name}
service:
mongodb:
image: ${_param:docker_image_mongodb}
@@ -21,4 +54,12 @@
ports:
- ${_param:haproxy_mongodb_exposed_port}:${_param:haproxy_mongodb_bind_port}
volumes:
- - /srv/volumes/mongodb:/data
+ - /srv/volumes/mongodb:/data/db
+ api:
+ image: ${_param:docker_image_janitor_monkey}
+ deploy:
+ replicas: ${_param:docker_janitor_monkey_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_janitor_monkey_exposed_port}:8080
diff --git a/elasticsearch/client/index/janitor_monkey.yml b/elasticsearch/client/index/janitor_monkey.yml
new file mode 100644
index 0000000..bef92ae
--- /dev/null
+++ b/elasticsearch/client/index/janitor_monkey.yml
@@ -0,0 +1,15 @@
+parameters:
+ _param:
+ janitor_monkey_cis_openstack_shards: 5
+ janitor_monkey_cis_openstack_replicas: 1
+ elasticsearch:
+ client:
+ index:
+ cis-openstack:
+ enabled: true
+ force_operation: true
+ definition:
+ template: cis-openstack
+ settings:
+ number_of_shards: ${_param:janitor_monkey_cis_openstack_shards}
+ number_of_replicas: ${_param:janitor_monkey_cis_openstack_replicas}
\ No newline at end of file
diff --git a/elasticsearch/client/pushkin/notifications.yml b/elasticsearch/client/index/pushkin.yml
similarity index 100%
rename from elasticsearch/client/pushkin/notifications.yml
rename to elasticsearch/client/index/pushkin.yml
diff --git a/elasticsearch/client/init.yml b/elasticsearch/client/init.yml
new file mode 100644
index 0000000..d0710ca
--- /dev/null
+++ b/elasticsearch/client/init.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ elasticsearch_client_host: ${_param:haproxy_elasticsearch_bind_host}
+ elasticsearch_client_port: ${_param:haproxy_elasticsearch_http_bind_port}
+ elasticsearch:
+ client:
+ enabled: true
+ server:
+ host: ${_param:elasticsearch_client_host}
+ port: ${_param:elasticsearch_client_port}
\ No newline at end of file
diff --git a/elasticsearch/client/pushkin/init.yml b/elasticsearch/client/pushkin/init.yml
deleted file mode 100644
index 9f37847..0000000
--- a/elasticsearch/client/pushkin/init.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-parameters:
- _param:
- pushkin_elasticsearch_host: ${_param:haproxy_elasticsearch_bind_host}
- pushkin_elasticsearch_port: ${_param:haproxy_elasticsearch_http_bind_port}
- elasticsearch:
- client:
- enabled: true
- server:
- host: ${_param:pushkin_elasticsearch_host}
- port: ${_param:pushkin_elasticsearch_port}
\ No newline at end of file
diff --git a/haproxy/proxy/listen/oss/janitor_monkey.yml b/haproxy/proxy/listen/oss/janitor_monkey.yml
new file mode 100644
index 0000000..c2ff760
--- /dev/null
+++ b/haproxy/proxy/listen/oss/janitor_monkey.yml
@@ -0,0 +1,40 @@
+parameters:
+ _param:
+ haproxy_janitor_monkey_bind_host: ${_param:haproxy_bind_address}
+ haproxy_janitor_monkey_bind_port: 8088
+ haproxy_janitor_monkey_exposed_port: 18088
+ haproxy_janitor_monkey_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ janitor_monkey:
+ mode: http
+ options:
+ - httpchk get /simianarmy/api/v1/janitor
+ balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
+ health-check:
+ http:
+ enabled: true
+ options:
+ - expect status 200
+ binds:
+ - address: ${_param:haproxy_janitor_monkey_bind_host}
+ port: ${_param:haproxy_janitor_monkey_bind_port}
+ ssl: ${_param:haproxy_janitor_monkey_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: backup check