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

98 lines
3.5 KiB
YAML

dsl_version: 0.1.0
service:
name: sahara-api
ports:
- {{ sahara.port }}
containers:
- name: sahara-api
image: sahara-api
# TODO(sreshetniak): add probes
pre:
- name: sahara-db-create
dependencies:
- database
type: single
command:
mysql -u root -p{{ db.root_password }} -h {{ address("database") }} -e "create database {{ sahara.db.name }};
create user '{{ sahara.db.username }}'@'%' identified by '{{ sahara.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};
grant all privileges on {{ sahara.db.name }}.* to '{{ sahara.db.username }}'@'%' identified by '{{ sahara.db.password }}'
{% if db.tls.enabled %} require ssl {% endif %};"
- name: sahara-db-sync
files:
- sahara-conf
dependencies:
- sahara-db-create
type: single
command: sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
- name: sahara-user-create
dependencies:
- keystone-create-domain
type: single
command: openstack user create --domain {{ service_account.domain }} --password {{ sahara.auth.password }} {{ sahara.auth.user }}
- name: sahara-role-add
dependencies:
- sahara-user-create
type: single
command: openstack role add --project {{ service_account.project }} --user {{ sahara.auth.user }} admin
- name: sahara-service-create
dependencies:
- keystone
type: single
command: openstack service create --name sahara --description "OpenStack Data Processing service" data-processing
- name: sahara-public-endpoint-create
dependencies:
- sahara-service-create
type: single
command: openstack endpoint create --region RegionOne data-processing public {{ address("sahara-api", sahara.port, external=True, with_scheme=True) }}/v1.1/\$\(tenant_id\)s
- name: sahara-internal-endpoint-create
dependencies:
- sahara-service-create
type: single
command: openstack endpoint create --region RegionOne data-processing internal {{ address("sahara-api", sahara.port, with_scheme=True) }}/v1.1/\$\(tenant_id\)s
- name: sahara-admin-endpoint-create
dependencies:
- sahara-service-create
type: single
command: openstack endpoint create --region RegionOne data-processing admin {{ address("sahara-api", sahara.port, with_scheme=True) }}/v1.1/\$\(tenant_id\)s
daemon:
files:
- sahara-conf
dependencies:
- rpc
command: sahara-api --config-file /etc/sahara/sahara.conf
# {% if sahara.tls.enabled %}
- name: nginx-heat-api
image: nginx
daemon:
files:
- upstreams
- servers
- server-cert
- server-key
command: nginx
# {% endif %}
files:
sahara-conf:
path: /etc/sahara/sahara.conf
content: sahara.conf.j2
# {% if sahara.tls.enabled %}
servers:
path: /etc/nginx/conf.d/servers.conf
content: nginx-sahara-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 %}