fuel-ccp-designate/service/designate-api.yaml

102 lines
3.7 KiB
YAML

dsl_version: 0.5.0
service:
name: designate-api
ports:
- {{ designate.api_port }}
containers:
- name: designate-api
image: designate-api
pre:
- name: designate-main-db-create
dependencies:
- database
type: single
command:
mysql -u root -p{{ db.root_password }} -h {{ address('database') }} -e "create database {{ designate.db.name.main_database }};
create user '{{ designate.db.username }}'@'%' identified by '{{ designate.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};
grant all privileges on {{ designate.db.name.main_database }}.* to '{{ designate.db.username }}'@'%' identified by '{{ designate.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};"
- name: designate-syncdb
dependencies:
- designate-main-db-create
files:
- designate-conf
type: single
command: designate-manage --config-file /etc/designate/designate.conf database sync
- name: designate-user-create
dependencies:
- keystone-create-domain
type: single
command: openstack user create --domain {{ service_account.domain }} --password {{ designate.password }} {{ designate.username }}
- name: designate-admin-role-add
dependencies:
- designate-user-create
- keystone-create-project
type: single
command: openstack role add --project {{ service_account.project }} --user {{ designate.username }} admin
- name: designate-service-create
dependencies:
- keystone-create-project
type: single
command: openstack service create --name designate --description "Designate Service" dns
- name: designate-public-endpoint-create
dependencies:
- designate-service-create
type: single
command: openstack endpoint create --region RegionOne dns public {{ address('designate-api', designate.api_port, external=True, with_scheme=True) }}
- name: designate-internal-endpoint-create
dependencies:
- designate-service-create
type: single
command: openstack endpoint create --region RegionOne dns internal {{ address('designate-api', designate.api_port, with_scheme=True) }}
- name: designate-admin-endpoint-create
dependencies:
- designate-service-create
type: single
command: openstack endpoint create --region RegionOne dns admin {{ address('designate-api', designate.api_port, with_scheme=True) }}
daemon:
dependencies:
- rpc
files:
- designate-conf
- api-paste
command: designate-api --config-file /etc/designate/designate.conf
# {% if designate.tls.enabled %}
- name: nginx-designate-api
image: nginx
daemon:
files:
- upstreams
- servers
- server-cert
- server-key
command: nginx
# {% endif %}
files:
designate-conf:
path: /etc/designate/designate.conf
content: designate.conf.j2
api-paste:
path: /etc/designate/api-paste.ini
content: api-paste.ini.j2
# {% if designate.tls.enabled %}
servers:
path: /etc/nginx/conf.d/servers.conf
content: nginx-api.conf.j2
perm: "0400"
upstreams:
path: /etc/nginx/conf.d/upstreams.conf
content: upstreams.conf.j2
perm: "0400"
server-cert:
path: /opt/ccp/etc/tls/server-cert.pem
content: server-cert.pem.j2
perm: "0400"
server-key:
path: /opt/ccp/etc/tls/server-key.pem
content: server-key.pem.j2
perm: "0400"
# {% endif %}