service: name: heat-api ports: - {{ heat.api_port }} containers: - name: heat-api image: heat-api # TODO(drusskikh): add probes probes: readiness: "true" liveness: command: "true" type: "exec" pre: - name: heat-db-create dependencies: - mariadb type: single command: mysql -u root -p{{ db.root_password }} -h {{ address('mariadb') }} -e "create database {{ heat.db.name }}; grant all privileges on {{ heat.db.name }}.* to '{{ heat.db.username }}'@'%' identified by '{{ heat.db.password }}';" - name: heat-db-sync files: - heat-conf dependencies: - heat-db-create type: single command: heat-manage db_sync - name: heat-user-create dependencies: - keystone-create-project type: single command: openstack user create --domain default --password {{ heat.password }} {{ heat.user }} - name: heat-role-add dependencies: - heat-user-create type: single command: openstack role add --project {{ openstack.project_name }} --user {{ heat.user }} admin - name: heat-service-create dependencies: - keystone-create-project type: single command: openstack service create --name heat --description "OpenStack orchestration service" orchestration - name: heat-public-endpoint-create dependencies: - heat-service-create type: single command: openstack endpoint create --region RegionOne orchestration public http://{{ address('heat-api') }}:{{ heat.api_port.cont }}/v1/%\(tenant_id\)s - name: heat-internal-endpoint-create dependencies: - heat-service-create type: single command: openstack endpoint create --region RegionOne orchestration internal http://{{ address('heat-api') }}:{{ heat.api_port.cont }}/v1/%\(tenant_id\)s - name: heat-admin-endpoint-create dependencies: - heat-service-create type: single command: openstack endpoint create --region RegionOne orchestration admin http://{{ address('heat-api') }}:{{ heat.api_port.cont }}/v1/%\(tenant_id\)s daemon: dependencies: - rabbitmq files: - heat-conf command: heat-api --config-file /etc/heat/heat.conf files: heat-conf: path: /etc/heat/heat.conf content: heat.conf.j2