heat_template_version: rocky

description: >
  Template for placement's logging to stdout

parameters:
  ContainerPlacementImage:
    description: image
    type: string

outputs:
  config_settings:
    description: Extra hieradata needed to log to stdout.
    value:
      placement::wsgi::apache::access_log_file: /var/log/httpd/access.log
      placement::wsgi::apache::error_log_file: /var/log/httpd/error_log
  volumes:
    description: The volumes needed to log to stdout or a sidecar container.
    value:
      - PlacementLogs:/var/log/
  docker_config:
    description: Extra containers needed for logging to stdout or a sidecar container.
    value:
      step_2:
        placement_apache_error_logs:
          start_order: 1
          image: {get_param: ContainerPlacementImage}
          user: root
          privileged: false
          restart: always
          healthcheck:
            test: '[ -p /var/log/httpd/error_log ]'
          command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd && rm -f /var/log/httpd/error_log && mkfifo /var/log/httpd/error_log && while true; do cat /var/log/httpd/error_log; done']
          volumes:
            - PlacementLogs:/var/log/
        placement_apache_access_logs:
          start_order: 1
          image: {get_param: ContainerPlacementImage}
          user: root
          privileged: false
          restart: always
          healthcheck:
            test: '[ -p /var/log/httpd/access.log ]'
          command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd && rm -f /var/log/httpd/access.log && mkfifo /var/log/httpd/access.log && while true; do cat /var/log/httpd/access.log; done']
          volumes:
            - PlacementLogs:/var/log/
        placement_logs:
          start_order: 2
          image: {get_param: ContainerPlacementImage}
          user: placement
          privileged: false
          restart: always
          healthcheck:
            test: '[ -p /var/log/placement/placement-api.log ]'
          command: ['/bin/bash', '-c', 'mkdir -p /var/log/placement && rm -f /var/log/placement/placement-api.log && mkfifo /var/log/placement/placement-api.log && while true; do cat /var/log/placement/placement-api.log; done']
          volumes:
            - PlacementLogs:/var/log/
  host_prep_tasks:
    description: Extra ansible tasks needed for logging to files in the host.
    value: null
