Log policy for docker containers - 2 files 100MB
[osm/devops.git] / installers / docker / docker-compose.yaml
index 2be8fa8..6675e97 100644 (file)
@@ -1,3 +1,21 @@
+##
+# Copyright 2019 ETSI
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+##
+
+########################################################################
+
 version: '3'
 volumes:
   ro:
@@ -6,7 +24,6 @@ volumes:
   mon_db:
   pol_db:
   osm_packages:
-  keystone_db:
   prom_db:
 networks:
   netOSM:
@@ -27,6 +44,11 @@ services:
       interval: 10s
       timeout: 10s
       retries: 3
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   kafka:
     image: wurstmeister/kafka:${KAFKA_TAG:-latest}
     ports:
@@ -37,8 +59,19 @@ services:
       KAFKA_ADVERTISED_HOST_NAME: kafka
       KAFKA_ADVERTISED_PORT: 9092
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_LOG_RETENTION_HOURS: 24
     volumes:
       - /var/run/docker.sock:/var/run/docker.sock
+    healthcheck:
+      test: zookeeper-shell.sh zookeeper:2181 ls /brokers/ids 2>&1 | grep "Node does not exist" && exit 1 || exit 0
+      interval: 20s
+      timeout: 10s
+      retries: 5
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - zookeeper
   mongo:
@@ -59,28 +92,28 @@ services:
       - prom_db:/prometheus
     networks:
       - netOSM
-  keystone-db:
-    image: mariadb:10
-    networks:
-      - netOSM
-    volumes:
-      - keystone_db:/var/lib/mysql
-    env_file:
-      - ./keystone-db.env
-#    ports:
-#      - "3306:3306"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   keystone:
-    image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-6}
     networks:
       - netOSM
     environment:
-      DB_HOST: keystone-db
+      DB_HOST: mysql
     env_file:
       - ./keystone.env
     ports:
       - "${OSM_KEYSTONE_PORTS:-5000:5000}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   nbi:
-    image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-6}
     networks:
       - netOSM
     volumes:
@@ -92,11 +125,16 @@ services:
       - ./nbi.env
     ports:
       - "${OSM_NBI_PORTS:-9999:9999}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - kafka
     #  - mongo
   lcm:
-    image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-6}
     networks:
       - netOSM
     volumes:
@@ -107,36 +145,53 @@ services:
       OSMLCM_MESSAGE_HOST: kafka
     env_file:
       - ./lcm.env
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - kafka
     #  - mongo
     #  - ro
-  ro-db:
+  mysql:
     image: mysql:5
     networks:
-      - netOSM
+      netOSM:
+        aliases:
+          - ro-db
     volumes:
       - ro_db:/var/lib/mysql
     env_file:
       - ./ro-db.env
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
 #    ports:
 #      - "3306:3306"
   ro:
-    image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-6}
     networks:
       - netOSM
     environment:
-      RO_DB_HOST: ro-db
+      RO_DB_HOST: mysql
     env_file:
       - ./ro.env
     #depends_on:
-    #  - ro-db
+    #  - mysql
     volumes:
       - ro:/var/log/osm
     ports:
       - "${OSM_RO_PORTS:-9090:9090}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   mon:
-    image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-6}
     networks:
       - netOSM
     volumes:
@@ -144,33 +199,50 @@ services:
     environment:
       OSMMON_MESSAGE_HOST: kafka
       OSMMON_MESSAGE_PORT: 9092
-      OSMMON_SQL_DATABASE_URI: sqlite:///app/database/mon_sqlite.db
     env_file:
       - ./mon.env
     ports:
       - "${OSM_MON_PORTS:-8662:8662}"
     #depends_on:
     #  - kafka
+    logging:
+        driver: "json-file"
+        options:
+            max-file: 5
+            max-size: 10m
   pol:
-    image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-6}
     networks:
       - netOSM
     volumes:
       - pol_db:/app/database
     environment:
-      OSMPOL_SQL_DATABASE_URI: sqlite:///app/database/policy_module.db
       OSMPOL_MESSAGE_HOST: kafka
       OSMPOL_MESSAGE_PORT: 9092
+    env_file:
+      - ./pol.env
     #depends_on:
     #  - kafka
     #  - mon
+    logging:
+      driver: "json-file"
+      options:
+        max-file: 5
+        max-size: 10m
   light-ui:
-    image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-latest}
+    image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-6}
     networks:
       - netOSM
     environment:
       OSM_SERVER: nbi
     #depends_on:
     #  - nbi
+    env_file:
+      - ./lwui.env
     ports:
       - "${OSM_UI_PORTS:-80:80}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"