Page MenuHomeDevCentral

Report current configuration state
Closed, ResolvedPublic

Description

Goal

To be able to get the current configuration to check if expected features, gates are enabled and info is cached.

Summary
Implement a configuration model.

Consume it from config:show CLI command.

Offer alternative output (JSON document or a validator).

Plan

  • refactor config:show command to be only a controller to output a CLI view:
    • create a class to query configuration information
    • consume this class from the config:show code
  • offer a web view from the configuration as a JSON document
  • consider if it's more simple to offer a POST route to submit an expected config payload to answer VALID/INVALID instead
  • ensure we can easily detect "projects map is not cached" issue

Event Timeline

JSON output will be something like this:

1{
2 "gates": [
3 "DockerHub",
4 "GitHub",
5 "Jenkins",
6 "Phabricator"
7 ],
8 "features": [
9 {
10 "name": "Gate",
11 "enabled": true
12 },
13 {
14 "name": "ActionsReport",
15 "enabled": true
16 }
17 ],
18 "services": [
19 {
20 "gate": "GitHub",
21 "door": "Nasqueron",
22 "instance": "",
23 "status": ""
24 },
25 {
26 "gate": "Phabricator",
27 "door": "Nasqueron",
28 "instance": "https://devcentral.nasqueron.org",
29 "status": ""
30 }
31 ]
32}