Merge "Adding application definition language doc"
This commit is contained in:
commit
bbc090fa10
|
@ -0,0 +1,208 @@
|
|||
===============================
|
||||
Application definition language
|
||||
===============================
|
||||
|
||||
There is a description of current syntax of application definition framework.
|
||||
|
||||
Application definition template
|
||||
-------------------------------
|
||||
|
||||
.. sourcecode:: yaml
|
||||
|
||||
service:
|
||||
name: service-name
|
||||
ports:
|
||||
- internal-port:external-port
|
||||
daemonset: true
|
||||
host-net: true
|
||||
node-selector:
|
||||
openstack-controller: "true"
|
||||
openstack-compute: "true"
|
||||
containers:
|
||||
- name: container-name
|
||||
image: container-image
|
||||
probes:
|
||||
readiness: readiness.sh
|
||||
liveness: liveness.sh
|
||||
volumes:
|
||||
- name: volume-name
|
||||
type: host
|
||||
path: /path
|
||||
pre:
|
||||
- name: service-bootstrap
|
||||
dependencies:
|
||||
- some-service
|
||||
- some-other-service
|
||||
type: single
|
||||
command: /tmp/bootstrap.sh
|
||||
files:
|
||||
- bootstrap.sh
|
||||
user: user
|
||||
- name: db-sync
|
||||
dependencies:
|
||||
- some-dep
|
||||
command: some command
|
||||
user: user
|
||||
daemon:
|
||||
dependencies:
|
||||
- demon-dep
|
||||
command: daemon.sh
|
||||
files:
|
||||
- config.conf
|
||||
user: user
|
||||
post:
|
||||
- name: post-command
|
||||
dependencies:
|
||||
- some-service
|
||||
- some-other-service
|
||||
type: single
|
||||
command: post.sh
|
||||
files:
|
||||
- config.conf
|
||||
|
||||
files:
|
||||
config.conf:
|
||||
path: /etc/service/config.conf
|
||||
content: config.conf.j2
|
||||
perm: "0600"
|
||||
user: user
|
||||
bootstrap.sh:
|
||||
path: /tmp/bootstrap.sh
|
||||
content: bootstrap.sh.j2
|
||||
perm: "0755"
|
||||
|
||||
|
||||
Parameters description
|
||||
----------------------
|
||||
|
||||
.. _service:
|
||||
|
||||
**service**
|
||||
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+===============+===============================================+==========+==================+=========+
|
||||
| name | Name of the service. | true | string | |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| containers | List of containers under multi-container pod | true | container_ array | |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| ports | k8s Service will be created if specified | false | internal-port: | |
|
||||
| | (with NodePort type for now) | | external-port | |
|
||||
| | Only internal or both internal:external ports | | array | |
|
||||
| | can be specified | | | |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| node-selector | | false | array of labels | |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| daemonset | Create DaemonSet instead of Deployment | false | boolean | false |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
| host-net | | false | boolean | false |
|
||||
+---------------+-----------------------------------------------+----------+------------------+---------+
|
||||
|
||||
.. _container:
|
||||
|
||||
**container**
|
||||
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+=========+============================================+==========+==================+=========+
|
||||
| name | Name of the container. It will be used to | true | string | |
|
||||
| | track status in etcd | | | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| image | Name of the image. registry, namespace, | true | string | |
|
||||
| | tag will be added by framework | | | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| probes | Readiness, liveness or both checks can be | false | dict with | |
|
||||
| | defined. Exec action will be used for both | | two keys: | |
|
||||
| | checks | | liveness: cmd | |
|
||||
| | | | readiness: cmd | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| volumes | | false | volume_ array | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| pre | List of commands that need to be executed | false | command_ array | |
|
||||
| | before daemon process start | | | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| daemon | | true | command_ | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
| post | The same as for “pre” except that post | false | command_ array | |
|
||||
| | commands will be executed after daemon | | | |
|
||||
| | process has been started | | | |
|
||||
+---------+--------------------------------------------+----------+------------------+---------+
|
||||
|
||||
.. _volume:
|
||||
|
||||
**volume**
|
||||
|
||||
+------------+-------------------------------------------+----------+-----------------------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+============+===========================================+==========+=======================+=========+
|
||||
| name | Name of the volume | true | string | |
|
||||
+------------+-------------------------------------------+----------+-----------------------+---------+
|
||||
| type | host and empty-dir type supported for now | true | one of: | |
|
||||
| | | | ["host", "empty-dir"] | |
|
||||
+------------+-------------------------------------------+----------+-----------------------+---------+
|
||||
| path | Host path that should be mounted | false | string | |
|
||||
| | (only if type = "host") | | | |
|
||||
+------------+-------------------------------------------+----------+-----------------------+---------+
|
||||
| mount-path | Mount path in container | false | string | path |
|
||||
+------------+-------------------------------------------+----------+-----------------------+---------+
|
||||
|
||||
.. _command:
|
||||
|
||||
**command**
|
||||
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+==============+============================================+==========+======================+=========+
|
||||
| name | Name of the command | true | string | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| command | | true | string | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| dependencies | These keys will be polled from etcd | false | string array | |
|
||||
| | before commands execution | | | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| type | type: single means that this command | false | one of: | local |
|
||||
| | should be executed once per openstack | | ["single", "local"] | |
|
||||
| | deployment. For commands with | | | |
|
||||
| | type: single Job object will be created | | | |
|
||||
| | | | | |
|
||||
| | type: local (or if type is not specified) | | | |
|
||||
| | means that command will be executed | | | |
|
||||
| | inside the same container as a | | | |
|
||||
| | daemon process. | | | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| files | List of the files that maps to the keys | false | file_ keys array | |
|
||||
| | of files dict. It defines which files will | | | |
|
||||
| | be rendered inside a container | | | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
| user | | false | string | |
|
||||
+--------------+--------------------------------------------+----------+----------------------+---------+
|
||||
|
||||
.. _files:
|
||||
|
||||
**files**
|
||||
|
||||
+------------------------------+-------------+----------+-------------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+==============================+=============+==========+=============+=========+
|
||||
| Name of the file to refer in | | false | file_ array | |
|
||||
| files list of commands | | | | |
|
||||
+------------------------------+-------------+----------+-------------+---------+
|
||||
|
||||
.. _file:
|
||||
|
||||
**file**
|
||||
|
||||
+---------+------------------------------------------------+----------+--------+---------+
|
||||
| Name | Description | Required | Schema | Default |
|
||||
+=========+================================================+==========+========+=========+
|
||||
| path | Destination path inside a container | true | string | |
|
||||
+---------+------------------------------------------------+----------+--------+---------+
|
||||
| content | Name of the file under | true | string | |
|
||||
| | {{ service_repo }}/service/files directory. | | | |
|
||||
| | This file will be rendered inside a container | | | |
|
||||
| | and moved to the destination defined with path | | | |
|
||||
+---------+------------------------------------------------+----------+--------+---------+
|
||||
| perm | | false | string | |
|
||||
+---------+------------------------------------------------+----------+--------+---------+
|
||||
| user | | false | string | |
|
||||
+---------+------------------------------------------------+----------+--------+---------+
|
|
@ -15,6 +15,7 @@ Contents:
|
|||
installation
|
||||
usage
|
||||
contributing
|
||||
dsl
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
|
Loading…
Reference in New Issue