69 lines
2.8 KiB
YAML
69 lines
2.8 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
|
|
|
|
files:
|
|
sahara-conf:
|
|
path: /etc/sahara/sahara.conf
|
|
content: sahara.conf.j2
|