How does components definitions are being generated?
Is all of them are written then populate to the database or Is there a way generate them?
eg:
{"kind":"AdminConsole","apiVersion":"v2.edp.epam.com/v1","displayName":"Admin Console","format":"JSON","metadata":{"genealogy":"","isNamespaced":true,"logoURL":"https://www.epam.com/content/dam/epam/global/logo_white-blue.svg","model":"admin-console-operator","modelDisplayName":"Epam Delivery Platform (EDP) Admin Console","primaryColor":"#00ABCD","published":true,"secondaryColor":"#00D3A9","shape":"circle","styleOverrides":"","subCategory":"Automation \u0026 Configuration","svgColor":"\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\u003c!DOCTYPE svg\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" id=\"Layer_1\" xmlns:_xmlns=\"xmlns\" _xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 590.1 207.7\" style=\"enable-background:new 0 0 590.1 207.7;\" xml:space=\"preserve\" height=\"20\" width=\"20\"\u003e\n\u003cstyle xmlns=\"http://www.w3.org/2000/svg\" type=\"text/css\"\u003e\n .st0{display:none;}\n .st1{display:inline;}\n .st2{fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;}\n .st3{fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:0.9969,0.9969;}\n .st4{display:inline;fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:1,1;}\n .st5{fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:0.993,0.993;}\n .st6{fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:1.0017,1.0017;}\n .st7{fill:none;stroke:#B2B2B2;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:0.9926,0.9926;}\n .st8{display:inline;fill:none;stroke:#E71D73;stroke-width:0.25;stroke-miterlimit:10;}\n .st9{fill:#9D9D9C;}\n .st10{fill:#424241;}\n .st11{display:inline;fill:#00ABCD;}\n .st12{display:inline;fill:#4D4949;}\n .st13{fill:#00ABCD;}\n .st14{fill:#00ABCD;}\n\u003c/style\u003e\n\u003cg xmlns=\"http://www.w3.org/2000/svg\" id=\"Grid_x2F_Specs\" class=\"st0\"\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\" class=\"st1\"\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"244.5\" y1=\"254.2\" x2=\"245\" y2=\"254.2\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st3\" x1=\"246\" y1=\"254.2\" x2=\"546.5\" y2=\"254.2\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"547\" y1=\"254.2\" x2=\"547.5\" y2=\"254.2\"\u003e\u003c/line\u003e\n \u003c/g\u003e\n \u003c/g\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st4\" x1=\"244.5\" y1=\"323.4\" x2=\"547.5\" y2=\"323.4\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st4\" x1=\"244.5\" y1=\"288.9\" x2=\"547.5\" y2=\"288.9\"\u003e\u003c/line\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\" class=\"st1\"\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"295.9\" y1=\"228.9\" x2=\"295.9\" y2=\"229.4\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st5\" x1=\"295.9\" y1=\"230.4\" x2=\"295.9\" y2=\"347.1\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"295.9\" y1=\"347.6\" x2=\"295.9\" y2=\"348.1\"\u003e\u003c/line\u003e\n \u003c/g\u003e\n \u003c/g\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\" class=\"st1\"\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"270.9\" y1=\"228.9\" x2=\"270.9\" y2=\"229.4\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st5\" x1=\"270.9\" y1=\"230.4\" x2=\"270.9\" y2=\"347.1\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"270.9\" y1=\"347.6\" x2=\"270.9\" y2=\"348.1\"\u003e\u003c/line\u003e\n \u003c/g\u003e\n \u003c/g\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st4\" x1=\"521.2\" y1=\"228.9\" x2=\"521.2\" y2=\"348.1\"\u003e\u003c/line\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\" class=\"st1\"\u003e\n \u003cg xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st2\" x1=\"308.4\" y1=\"228.9\" x2=\"308.4\" y2=\"229.4\"\u003e\u003c/line\u003e\n \u003cline xmlns=\"http://www.w3.org/2000/svg\" class=\"st5\" x1=\"308.4\" y1=\"230.4\" x2=\"308.4\" y2=\"347.1\"\u003e\u003c/line\u003e\n
This file has been truncated. show original
Meshery has this component generation workflow that runs nightly everyday to generate components using this script .
Internally, it lookup this spreadsheet that has metadata for each component/model that meshery supports. Only those with publish==true (in the spreadsheet column) are generated.
This doc can give more inner insights. https://docs.google.com/document/d/16z5hA8qVfSq885of9LXFUVvfom-hQXr-6oTD_GgoFmk/edit
Moreover, policy/relationships work differently and those are not generated rather hand written.