rougail-tutorials/README.md

21 KiB

Table of Contents

Summary

Description

Firefox Proxy setting

Family in "shorthand" mode

The sub family is now in "shorthand" mode. In this mode we can only define "name" and "description" attributes.

Inside the sub family we add two variables (with domainname and port types).

Structure

firefox/00-proxy.yml

---
proxy_mode:
  description: Configure Proxy Access to the Internet
  choices:
    - No proxy
    - Auto-detect proxy settings for this network
    - Use system proxy settings
    - Manual proxy configuration
    - Automatic proxy configuration URL
  default: No proxy

firefox/10-manual.yml

---
manual:
  description: Manual proxy configuration
  disabled:
    variable: _.proxy_mode
    when_not: 'Manual proxy configuration'

  http_proxy:  # HTTP Proxy

    address:
      description: HTTP address
      type: domainname
      params:
        allow_ip: true

    port:
      description: HTTP Port
      type: port
      default: 8080

Generated documentation

foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github

Variables

Variable                                                                                                 Description                                                                                             
proxy_mode
choice standard 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

basic disabled

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

HTTP Proxy

basic

Variable                                                                                                 Description                                                                                             
manual.http_proxy.address
domainname basic mandatory
HTTP address.
Validator: the domain name can be an IP
manual.http_proxy.port
port standard mandatory
HTTP Port.
Default: 8080

User data

Example 1

config/01/config.yaml

---

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/01/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy

Example 2

config/02/config.yaml

---
proxy_mode: Manual proxy configuration

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/02/config.yaml
🛑 ERRORS
┣━━ The following variables are mandatory but have no value:
┗━━   - manual.http_proxy.address (HTTP address)

Example 3

config/03/config.yaml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: example.net

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┣━━ 📓 address: example.net
        ┗━━ 📓 port: 8080

Output in read write mode

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/03/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┣━━ 📓 address: example.net
        ┗━━ 📓 port: 8080

Example 4

config/04/config.yaml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: example.net
    port: '3128'

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/04/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┣━━ 📓 address: example.net
        ┗━━ 📓 port: 3128 (8080)

Example 5

config/05/config.yaml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net
    port: '3128'
  use_for_https: false
  https_proxy:
    address: https.proxy.net

Description

If "use_for_https" is false, HTTPS variables are visible in read only mode and in read write mode.

Output

foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff config/05/config.yaml
🛑 ERRORS
┣━━ unknown option "use_for_https" in optiondescription "manual (Manual proxy configuration)"
┗━━ unknown option "https_proxy" in optiondescription "manual (Manual proxy configuration)"
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
╰─────────────────────────────────────────────────────────────╯
Variables:
┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy)
┗━━ 📂 manual
    ┗━━ 📂 http_proxy
        ┣━━ 📓 address: http.proxy.net
        ┗━━ 📓 port: 3128 (8080)