github.com/criteo/command-launcher@v0.0.0-20230407142452-fb616f546e98/gh-pages/content/en/docs/overview/config.md (about)

     1  ---
     2  title: "Configuration"
     3  description: "List of command launcher configurations"
     4  lead: "List of command launcher configurations"
     5  date: 2022-10-02T20:21:40+02:00
     6  lastmod: 2022-10-02T20:21:40+02:00
     7  draft: false
     8  images: []
     9  menu:
    10    docs:
    11      parent: "overview"
    12      identifier: "config-22936c8eb194f0d72a25cab368910542"
    13  weight: 235
    14  toc: true
    15  ---
    16  
    17  ## List of configurations
    18  
    19  | Config Name                      | Type     | Description                                                                                                                   |
    20  |----------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------|
    21  | ci_enabled                       | bool     | whether the CI mode is enabled or not                                                                                         |
    22  | command_repository_base_url      | string   | the base url of the remote repository, it must contain a `/index.json` endpoint to list the available pacakges                |
    23  | command_update_enabled           | bool     | whether auto update managed commands or not                                                                                   |
    24  | dropin_folder                    | string   | the absolute path of the dropin folder                                                                                        |
    25  | enable_user_consent              | bool     | whether enable the user consent. Be caution, when set to false, all resources are allowed to pass to the managed commands.    |
    26  | experimental_command_enabled     | bool     | whether enable experimental command or not                                                                                    |
    27  | internal_command_enabled         | bool     | whether enable internal command or not                                                                                        |
    28  | local_command_repository_dirname | bool     | the absolute path of the local repository folder.                                                                             |
    29  | log_enabled                      | bool     | whether log is enabled or not                                                                                                 |
    30  | log_level                        | string   | the log level of command launcher. Note, the managed command could also request access to this config                         |
    31  | metric_graphite_host             | string   | graphite url for metrics                                                                                                      |
    32  | package_lock_file                | string   | only available for CI mode (ci_enabled = true). Lock the package version for CI purpose                                       |
    33  | remote_config_check_cycle        | int      | interval in hours to check the remote config                                                                                  |
    34  | remote_config_check_time         | time     | next remote config check time. This configuration is set automatically by command launcher, you shouldn't change it manually. |
    35  | self_update_base_url             | string   | base url to get command launcher binaries                                                                                     |
    36  | self_update_enabled              | bool     | whether auto update command launcher itself                                                                                   |
    37  | self_update_latest_version_url   | string   | url to get the latest command launcher version information                                                                    |
    38  | self_update_timeout              | duration | timeout duration for self update                                                                                              |
    39  | usage_metrics_enabled            | bool     | whether enable metrics                                                                                                        |
    40  | user_consent_life                | duration | the life of user consent                                                                                                      |
    41  | system_package                   | string   | the system package name                                                                                                       |
    42  | system_package_public_key        | string   | the public key to verify the system package signature                                                                         |
    43  | system_package_public_key_file   | string   | the public key file to verify the system package signature                                                                    |
    44  | verify_package_checksum          | bool     | whether to verify the package checksum during package installation                                                            |
    45  | verify_package_signature         | bool     | whether to verify the package signature during package installation (will be available in 1.8)                                |
    46  | extra_remotes                    | map      | extra remote registry configurations, see extra remote configuration  (available 1.8+)                                        |
    47  | enable_package_setup_hook        | bool     | call setup hook after a new version of package is installed (available 1.9+)                                                  |
    48  
    49  ### extra remote configuration
    50  
    51  Each extra remote must have a unique name, it is used to identify the command as part of the command full name. The example configuration looks like the following:
    52  
    53  ```json
    54  {
    55      "extra_remotes": {
    56          "remote1": {
    57              "remote_base_url": "",
    58              "sync_policy": "always",
    59              "repository_dir": ""
    60          }
    61      }
    62  }
    63  ```
    64  
    65  | Config Name     | Type   | Description                                                                                                    |
    66  |-----------------|--------|----------------------------------------------------------------------------------------------------------------|
    67  | remote_base_url | string | the base url of the remote repository, it must contain a `/index.json` endpoint to list all available packages |
    68  | sync_policy     | string | how often the repository is synched from its remote, always, hourly, daily, weekly, or monthly                 |
    69  | repository_dir  | string | the absolute path of the local repository folder to keep the downloaded local packages                         |
    70  
    71  > You don't need to manage these extra remote configurations by your self. Use the built-in `remote` command instead
    72  
    73  ## Change configuration
    74  
    75  It is recommended to use the built-in `config` command to change the configurations. For duration type configurations, you can use `h`, `m`, and `s` to present hour, minute, and seconds. For example:
    76  
    77  ```bash
    78  cola config user_consent_life 24h
    79  ```
    80  
    81  set the user consent life to 24 hours.