Paasify Stack configuration

Type: array Default: []

Stacks are defined in a list of objects

Each item of this array must be:

Default: {"dir": null, "name": null, "app": null, "tags": [], "tags_suffix": [], "tags_prefix": [], "vars": []}

Type: object
No Additional Properties

Type: string

This is a stack ident, it should not be changed. If not set, it comes from the app name, and from the dir if no apps. Should not contains any special char, except - (or _). This is used to name the app (docker, dns, etc ...)

Must be at least 2 characters long

Type: string Default: "$name"

Directory where the docker-compose.run.yml file is generated. Can be used to move stack directories (cold move). Default comes from the name.

Type: string

Shortcut to use an application without modifying it's default parameters. First optional part is module collection, and after the ':', it's the name/path to the aplication inside the module


Determine a list of tags to apply

Type: array Default: []

Define a list of tags. You can interact in few ways with tags. Tags can support boths syntaxes at the same time.


Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag",
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

Each additional property must conform to the following schema


Tag definition. It support two formats at the same time: as string or dict. If the name is prefixed with a !, then it is removed from the processing list (both vars, docker-file and jsonnet processing).

Default: ""

Just pass the tag you want to apply as string. This form does not allow jsonnet ovar override

Type: object

Completely disable a tag from the processing list, whatever how many instances there are.

Must match regular expression: [~].*
Type: object

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

Must match regular expression: ^.*:.*$
Type: object

Will find the best matching tag.See: Specific tag documentation for further informations.

Must match regular expression: .*

Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag"
    ]
}
Type: object Default: {}

Define a tag. The key represent the name of the tag, while it's value is passed as vars during jsonnet processing. This form allow jsonnet ovar override


Example:

{
    "tags": [
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: [~].*
Default: {}

Completely disable a tag from the processing list, whatever how many instances there are.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.*:.*$
Default: {}

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: .*
Default: {}

Will find the best matching tag.See: Specific tag documentation for further informations.

Type: null Default: null

Do not declare any tags


Example:

{
    "tags": null
}


Determine a list of tags to apply

Type: array Default: []

Define a list of tags. You can interact in few ways with tags. Tags can support boths syntaxes at the same time.


Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag",
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

Each additional property must conform to the following schema


Tag definition. It support two formats at the same time: as string or dict. If the name is prefixed with a !, then it is removed from the processing list (both vars, docker-file and jsonnet processing).

Default: ""

Just pass the tag you want to apply as string. This form does not allow jsonnet ovar override

Type: object

Completely disable a tag from the processing list, whatever how many instances there are.

Must match regular expression: [~].*
Type: object

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

Must match regular expression: ^.*:.*$
Type: object

Will find the best matching tag.See: Specific tag documentation for further informations.

Must match regular expression: .*

Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag"
    ]
}
Type: object Default: {}

Define a tag. The key represent the name of the tag, while it's value is passed as vars during jsonnet processing. This form allow jsonnet ovar override


Example:

{
    "tags": [
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: [~].*
Default: {}

Completely disable a tag from the processing list, whatever how many instances there are.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.*:.*$
Default: {}

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: .*
Default: {}

Will find the best matching tag.See: Specific tag documentation for further informations.

Type: null Default: null

Do not declare any tags


Example:

{
    "tags": null
}


Determine a list of tags to apply

Type: array Default: []

Define a list of tags. You can interact in few ways with tags. Tags can support boths syntaxes at the same time.


Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag",
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

Each additional property must conform to the following schema


Tag definition. It support two formats at the same time: as string or dict. If the name is prefixed with a !, then it is removed from the processing list (both vars, docker-file and jsonnet processing).

Default: ""

Just pass the tag you want to apply as string. This form does not allow jsonnet ovar override

Type: object

Completely disable a tag from the processing list, whatever how many instances there are.

Must match regular expression: [~].*
Type: object

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

Must match regular expression: ^.*:.*$
Type: object

Will find the best matching tag.See: Specific tag documentation for further informations.

Must match regular expression: .*

Example:

{
    "tags": [
        "my_tagg",
        "~my_prefix_tag",
        "my_collection:my_prefix_tag"
    ]
}
Type: object Default: {}

Define a tag. The key represent the name of the tag, while it's value is passed as vars during jsonnet processing. This form allow jsonnet ovar override


Example:

{
    "tags": [
        {
            "other_tag": {
                "specific_conf": "val1"
            }
        },
        {
            "my_collection:another_tag": null
        },
        {
            "~ignore_this_tag": {
                "specific_conf": "val1"
            }
        }
    ]
}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: [~].*
Default: {}

Completely disable a tag from the processing list, whatever how many instances there are.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^.*:.*$
Default: {}

Reference a tag from a specific collection.See: Specific tag documentation for further informations.

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: .*
Default: {}

Will find the best matching tag.See: Specific tag documentation for further informations.

Type: null Default: null

Do not declare any tags


Example:

{
    "tags": null
}


Environment configuration. Paasify leave two choices for the configuration, either use the native dict configuration or use the docker-compatible format

Type: array Default: []

Configure variables as a list. This is the recommended way asit preserves the variable parsing order, useful for templating. This format allow multiple configuration format.


Example:

{
    "env": [
        {
            "MYSQL_ADMIN_USER": "MyUser"
        },
        {
            "MYSQL_ADMIN_DB": "MyDB"
        },
        {
            "MYSQL_ENABLE_BACKUP": true
        },
        {
            "MYSQL_BACKUPS_NODES": 3
        },
        {
            "MYSQL_NODE_REPLICA": null
        },
        "MYSQL_WELCOME_STRING=Is alway a string"
    ]
}

Each additional property must conform to the following schema


Environment configuration. Paasify leave two choices for the configuration, either use the native dict configuration or use the docker-compatible format

Type: object

Simple key value variable declaration, under the form of: {KEY: VALUE}. This does preserve value type.


Example:

{
    "env": [
        {
            "MYSQL_ADMIN_USER": "MyUser"
        },
        {
            "MYSQL_ADMIN_DB": "MyDB"
        }
    ]
}

All properties whose name matches the following regular expression must respect the following conditions

Property name regular expression: ^[A-Za-z_][A-Za-z0-9_]*$
Type: object

Value must be serializable type

Type: string

Value must be a string, under the form of: KEY=VALUE. This does not preserve value type.

Must match regular expression: ^[A-Za-z_][A-Za-z0-9_]*=.*$
Example:

{
    "env": [
        "MYSQL_ADMIN_USER=MyUser",
        "MYSQL_ADMIN_DB=MyDB"
    ]
}
Type: object Default: {}

Configure variables as a dict. This option is only proposed for compatibility reasons. It does not preserve the order of the variables.


Example:

{
    "env": {
        "MYSQL_ADMIN_USER": "MyUser",
        "MYSQL_ADMIN_DB": "MyDB",
        "MYSQL_ENABLE_BACKUP": true,
        "MYSQL_BACKUPS_NODES": 3,
        "MYSQL_NODE_REPLICA": null
    }
}
Type: null Default: null

Do not define any vars


Examples:

{
    "env": null
}
{
    "env": []
}
{
    "env": {}
}
Type: string

Shortcut to use an application without modifying it's default parameters. First optional part is module collection, and after the ':', it's the name/path to the aplication inside the module

Must match regular expression: ^([^:]+:)?(.*)$