Paasify Project settings


Configure main project settings. It provides global settings but also defaults vars and tags for all stacks.

Type: object Default: {}

Configure project as a dict value. Most of these settings are overridable via environment vars.

No Additional Properties
Example:

{
    "config": {
        "namespace": "my_ns1",
        "vars": [
            {
                "my_var1": "my_value1"
            }
        ],
        "tags": [
            "tag1",
            "tag2"
        ]
    }
}


Name of the project namespace. If not set, defaulted to directory name

Type: null

Defaulted by the project dir name

Type: string

Custom namespace name string


Extra vars file to load for this project

Type: array of string

List of files to load

Each item of this array must be:

Type: string

A single file to load

Type: null

Disable extra_vars loading


Examples:

{
    "extra_vars": [
        "../common_vars.ymlcommon/common_vars.yml/absolute/path/common_vars.yml"
    ]
}
{
    "extra_vars": "single/file/to_load.yml"
}
{
    "extra_vars": 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": {}
}


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
}
Type: null Default: null

Use automatic conf if not set. You can still override conf values with environment vars.


Examples:

{
    "config": null
}
{
    "config": {}
}