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.