github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/docs/content/developers/remote-config.md (about)

     1  ---
     2  search:
     3    boost: .5
     4  ---
     5  # Remote Config
     6  
     7  DDEV supports downloading a [`remote config`](https://github.com/ddev/remote-config/blob/main/remote-config.jsonc)
     8  from the [`ddev/remote-config`](https://github.com/ddev/remote-config)
     9  GitHub repository with messages that will be shown to the user as a "Tip of the Day". This feature
    10  may be enhanced later with more information and filtering.
    11  
    12  ## Messages
    13  
    14  ### Notifications
    15  
    16  The defined messages are shown to the user every `interval` as long as not
    17  disabled (interval=0). Supported message types are `infos` and `warnings` where
    18  `infos` are printed in a yellow box and `warnings` in a red box.
    19  
    20  Messages will be shown as configured in the `remote-config` repository and the
    21  user cannot influence them.
    22  
    23  ### Infos
    24  
    25  `infos` and `warnings` (yellow and red) can be specified like this:
    26  
    27  ```json
    28  {
    29    "messages": {
    30      "notifications": {
    31        "interval": 20,
    32        "infos": [
    33          {
    34            "message": "This is a message to users of DDEV before v1.22.7",
    35            "versions": "<=v1.22.6"
    36          }
    37        ],
    38        "warnings": []
    39      }
    40    }
    41  }
    42  ```
    43  
    44  ### Ticker
    45  
    46  Messages rotate, with one shown to the user every `interval` as long as it’s not
    47  disabled (interval=0).
    48  
    49  The user can disable the ticker or change the interval in the global config.
    50  
    51  ### Conditions and Versions
    52  
    53  Every message can optionally include a condition and version constraint to limit
    54  the message to matching conditions and DDEV versions.
    55  
    56  Each element in the `conditions` array may contain a condition listed by
    57  `ddev debug message-conditions`. It may be prefixed by a `!` to negate the
    58  condition. All conditions must be met in order for a message to be displayed.
    59  Unknown conditions are always met.
    60  
    61  The field `versions` may contain a version constraint which must be met by the
    62  current version of DDEV. More information about the supported constraints can
    63  be found in the [Masterminds SemVer repository](https://github.com/Masterminds/semver#readme).
    64  
    65  ## Testing
    66  
    67  To test, create a pull request on your fork or the main repository.
    68  
    69  1. Run `prettier -c remote-config.jsonc` to make sure prettier will not complain. Run `prettier -w remote-config.jsonc` to get it to update the file.
    70  2. For the fork `rfay` and branch `20240215_note_about_key_exp`, add configuration to your `~/.ddev/global_config.yaml`:
    71  
    72      ```yaml
    73      remote_config:
    74        update_interval: 1
    75        remote:
    76          owner: rfay
    77          repo: remote-config
    78          ref: 20240215_note_about_key_exp
    79          filepath: remote-config.jsonc
    80      ```
    81  
    82  3. `rm ~/.ddev/.state.yaml ~/.ddev/.remote-config`
    83  4. `DDEV_VERBOSE=true ddev start <project>`
    84  
    85  Watch for failure to download or failure to parse the remote configuration.