Page MenuHomeDevCentral

D2565.id6479.diff
No OneTemporary

D2565.id6479.diff

diff --git a/PORTS b/PORTS
--- a/PORTS
+++ b/PORTS
@@ -14,6 +14,19 @@
32080 Discourse HTTP
40080 RocketChat HTTP
+paas-docker-sensu-backend
+ 2379 gRPC - Sensu storage client - external etcd instance
+ 2380 gRPC - Sensu storage peer - communicate with other Sensu backends
+ 3000 HTTP - Sensu web UI
+ 6060 HTTP - Sensu performance profiling
+ 8080 HTTP - Sensu API
+ 8081 HTTP - Sensu Agent API
+
+reserved-for-monitoring
+ 3030 Sensu agent - socket
+ 3031 Sensu agent - API
+ 8125 Sensu agent - StatsD listener [UDP]
+
paas-docker
5000 Docker registry HTTP
9090 Openfire HTTP
@@ -40,4 +53,5 @@
43080 Hauk
44080 Hound
# 45080 should be reserved for OpenGrok to compare with Hound
+ 46080 Sensu Web UI
50000 Jenkins master's port for JNLP-based Jenkins agents - CD
diff --git a/pillar/paas/docker.sls b/pillar/paas/docker.sls
--- a/pillar/paas/docker.sls
+++ b/pillar/paas/docker.sls
@@ -80,6 +80,8 @@
dwellers:
bugzilla:
subnet: 172.21.3.0/24
+ sensu:
+ subnet: 172.21.4.0/24
docker-001:
cd:
subnet: 172.18.1.0/24
@@ -102,6 +104,29 @@
docker-001:
thinpool: wharf-thinpool
+# -------------------------------------------------------------
+# Containers distributions
+#
+# Like docker_containers, but non attached to a specific server
+# so we can move more easily a group of services.
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+docker_containers_distributions:
+
+ sensu_agent: &sensu_agent
+ sensu-agent:
+ sensu-agent:
+ backend: ws://monitoring.nasqueron.org:8081
+
+ sensu_backend: &sensu_backend
+ sensu:
+ sensu-backend:
+ network: sensu
+ host: monitoring.nasqueron.org
+ app_port: 3000
+ api_port: 8080
+ ws_port: 8081
+
# -------------------------------------------------------------
# Containers
#
@@ -137,6 +162,9 @@
#
dwellers:
+ <<: *sensu_agent
+ <<: *sensu_backend
+
#
# Core services
#
@@ -177,6 +205,8 @@
#
docker-001:
+ <<: *sensu_agent
+
#
# Core services
#
diff --git a/roles/paas-docker/containers/sensu-agent.sls b/roles/paas-docker/containers/sensu-agent.sls
new file mode 100644
--- /dev/null
+++ b/roles/paas-docker/containers/sensu-agent.sls
@@ -0,0 +1,31 @@
+# -------------------------------------------------------------
+# Salt — Provision Docker engine
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% set containers = pillar['docker_containers'][grains['id']] %}
+
+{% for instance, container in containers['sensu-agent'].items() %}
+
+# -------------------------------------------------------------
+# Container
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+{{ instance }}:
+ docker_container.running:
+ - detach: True
+ - interactive: True
+ - image: sensu/sensu:6.6.6
+ - binds:
+ - /srv/sensu/{{ instance }}/lib:/var/lib/sensu
+ - ports:
+ - 3030
+ - command: |
+ sensu-agent start \
+ --backend-url {{ container['backend']}} --deregister \
+ --keepalive-interval=5 --keepalive-warning-timeout=10 \
+ --subscriptions linux
+
+{% endfor %}
diff --git a/roles/paas-docker/containers/sensu.sls b/roles/paas-docker/containers/sensu.sls
new file mode 100644
--- /dev/null
+++ b/roles/paas-docker/containers/sensu.sls
@@ -0,0 +1,54 @@
+# -------------------------------------------------------------
+# Salt — Provision Docker engine
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+{% set has_selinux = salt['grains.get']('selinux:enabled', False) %}
+{% set containers = pillar['docker_containers'][grains['id']] %}
+
+{% for instance, container in containers['sensu'].items() %}
+
+# -------------------------------------------------------------
+# Storage directory
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+/srv/sensu/{{ instance }}/lib:
+ file.directory:
+ - makedirs: True
+
+{% if has_selinux %}
+selinux_context_sensu_data_{{ instance }}:
+ selinux.fcontext_policy_present:
+ - name: /srv/sensu/{{ instance }}/lib
+ - sel_type: container_file_t
+
+selinux_context_sensu_data_applied_{{ instance }}:
+ selinux.fcontext_policy_applied:
+ - name: /srv/sensu/{{ instance }}/lib
+{% endif %}
+
+# -------------------------------------------------------------
+# Container
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+{{ instance }}:
+ docker_container.running:
+ - detach: True
+ - interactive: True
+ - image: sensu/sensu:6.6.6
+ - networks:
+ - {{ container['network']}}
+ - binds:
+ - /srv/sensu/{{ instance }}/lib:/var/lib/sensu
+ - ports:
+ - 3000
+ - 8080
+ - port_bindings:
+ - {{ container['app_port'] }}:3000
+ - {{ container['api_port'] }}:8080
+ - {{ container['ws_port'] }}:8081
+ - command: sensu-backend start
+
+{% endfor %}

File Metadata

Mime Type
text/plain
Expires
Sun, Jun 22, 15:22 (12 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2753427
Default Alt Text
D2565.id6479.diff (5 KB)

Event Timeline