No description
Find a file
2025-11-22 14:13:46 +01:00
firefox [tutorial v1.1_060] Family: a dynamic family 2025-11-22 14:13:44 +01:00
firefox.png [tutorial v1.1_033)] A variable with type "boolean" (config and doc) 2025-11-22 14:13:36 +01:00
foxyproxy.png [init] Discover Rougail 2025-11-22 14:13:19 +01:00
install.txt [init] Discover Rougail 2025-11-22 14:13:19 +01:00
README.md [tutorial v1.1_061)] A conditional disabled variable with dynamic identifier (config and doc) 2025-11-22 14:13:46 +01:00
tree.html [tutorial v1.1_061)] A conditional disabled variable with dynamic identifier (config and doc) 2025-11-22 14:13:46 +01:00

[tutorial v1.1_061)] A conditional disabled variable with dynamic identifier

View the diff

Read the documentation

Screenshot

Firefox Proxy setting

Clone and install

To test this tutorial, you need to download this repository and install Rougail:

git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml

Then switch to the tutorial page:

git switch --detach v1.1_061

Structure

.
└── firefox
    ├── 00-proxy.yml
    ├── 10-manual.yml
    └── 20-manual.yml


Contents of the firefox/20-manual.yml file

%YAML 1.2
---
version: 1.1

manual:

  use_for_https: true  # Also use this proxy for HTTPS

  '{{ identifier }}_proxy':
    description: '{{ identifier }} Proxy'
    hidden:
      variable: _.use_for_https
    dynamic:
      - HTTPS
      - SOCKS

    address:
      description: '{{ identifier }} address'
      default:
        variable: __.http_proxy.address

    port:
      description: '{{ identifier }} port'
      default:
        variable: __.http_proxy.port

    version:
      description: SOCKS host version used by proxy
      choices:
        - v4
        - v5
      default: v5
      disabled:
        type: identifier
        when: HTTPS
...

Let's generate the documentation

rougail -m firefox/ -o doc
Variable                                                                                        Description                                                                                    
proxy_mode
choice mandatory
Configure Proxy Access to the Internet.
Choices:
- No proxy ← (default)
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL

Manual proxy configuration

manual

disabled

Disabled: when the variable "proxy_mode" hasn't the value "Manual proxy configuration"

HTTP Proxy

manual.http_proxy

Variable                                                                                            Description                                                                                        
manual.http_proxy.address
domainname mandatory
HTTP address.
Validator: the domain name can be an IP
manual.http_proxy.port
port mandatory
HTTP Port.
Validators:
- well-known ports (1 to 1023) are allowed
- registred ports (1024 to 49151) are allowed
- private ports (greater than 49152) are allowed
Default: 8080
Variable                                                                                            Description                                                                                        
manual.use_for_https
boolean mandatory
Also use this proxy for HTTPS.
Default: true
HTTPS Proxy or SOCKS Proxy

This family builds families dynamically

manual.https_proxy
manual.socks_proxy

hidden

Hidden: when the variable "manual.use_for_https" has the value "true"

Identifiers:
- HTTPS
- SOCKS

Variable                                                                                                     Description                                                                                                 
manual.https_proxy.address
manual.socks_proxy.address
domainname mandatory
HTTPS or SOCKS address.
Validator: the domain name can be an IP
Default: the value of the variable "manual.http_proxy.address"
manual.https_proxy.port
manual.socks_proxy.port
port mandatory
HTTPS or SOCKS port.
Validators:
- well-known ports (1 to 1023) are allowed
- registred ports (1024 to 49151) are allowed
- private ports (greater than 49152) are allowed
Default: the value of the variable "manual.http_proxy.port"
manual.https_proxy.version
manual.socks_proxy.version
choice mandatory disabled
SOCKS host version used by proxy.
Choices:
- v4
- v5 ← (default)
Disabled: when the identifier is "HTTPS"

Let's generate the changelog

rougail -m firefox/ -o doc --doc.contents changelog

New variable

Variable                                                                                                     Description                                                                                                 
manual.https_proxy.version
manual.socks_proxy.version
choice mandatory disabled
SOCKS host version used by proxy.
Choices:
- v4
- v5 ← (default)
Disabled: when the identifier is "HTTPS"