2024-09-04 16:40:46 +02:00
"""
2024-09-04 16:50:15 +02:00
Config file for Rougail - user - data - environment
2024-09-04 16:40:46 +02:00
Silique ( https : / / www . silique . fr )
2025-02-10 09:30:20 +01:00
Copyright ( C ) 2024 - 2025
2024-09-04 16:40:46 +02:00
distribued with GPL - 2 or later license
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
"""
2024-09-09 10:21:29 +02:00
2025-10-05 21:25:12 +02:00
from . i18n import _
2025-05-11 19:10:08 +02:00
def get_rougail_config (
* ,
backward_compatibility = True ,
) - > dict :
2025-10-05 21:25:12 +02:00
options = f """
2024-09-04 16:50:15 +02:00
environment :
2025-12-29 12:53:08 +01:00
description : { _ ( " Load environment variables " ) }
help : | -
{ _ ( ' Variable values can be defined directly from an environment variable. ' ) }
{ _ ( ' Environnement variable names begin with a prefix (by default ROUGAIL_) followed by the variable path in uppercase, for example: ROUGAIL_MY_VARIABLE. If you are using namespaces, the prefix is the name of the namespace in uppercase. ' ) }
{ _ ( ' Note that variable paths can contain ( " . " ), which are not permitted everywhere. To avoid any issues, use the `env` command, for example: `env ROUGAIL_MY_FAMILY.MY_VARIABLE=1 rougail` ' ) }
{ _ ( ' For values, there is no difference between a number and a letter (they can be enclosed in quotes or not). However, booleans are True or False. The separator for multiple variables is a comma. ' ) }
2024-09-04 16:40:46 +02:00
disabled :
jinja : |
2025-12-29 12:53:08 +01:00
{ { { { _ . step . user_data is propertyerror or ' environment ' not in _ . step . user_data } } } }
return_type : boolean
description : { _ ( ' if environment is not set in " step.user_data " ' ) }
2025-10-05 21:25:12 +02:00
2024-11-23 11:08:24 +01:00
default_environment_name :
2025-10-05 21:25:12 +02:00
description : { _ ( " Name of the default environment prefix " ) }
2025-10-29 11:16:37 +01:00
default : ROUGAIL
validators :
- jinja : | -
2025-12-19 13:33:07 +01:00
{ { { { _ . default_environment_name | upper != _ . default_environment_name } } } }
return_type : boolean
2025-12-29 12:53:08 +01:00
description : { _ ( " should only use uppercase character " ) }
2024-11-23 11:08:24 +01:00
disabled :
2025-10-05 21:25:12 +02:00
variable : __ . main_namespace
2024-11-27 16:39:46 +01:00
when_not : null
2025-10-05 21:25:12 +02:00
2025-10-29 11:16:37 +01:00
custom_separator :
description : { _ ( ' Replace the separator character " . " in path by an other ' ) }
help : { _ ( ' The " . " character could be not allowed in path name ' ) }
mandatory : false
2025-10-05 21:25:12 +02:00
with_secrets :
description : { _ ( " Environnement variables may contain secrets " ) }
default : true
2024-09-04 16:40:46 +02:00
"""
2025-05-11 19:10:08 +02:00
return {
" name " : " environment " ,
" process " : " user data " ,
" options " : options ,
" level " : 50 ,
}
2024-09-04 16:40:46 +02:00
2025-05-11 19:10:08 +02:00
__all__ = ( " get_rougail_config " , )