Skip to content

Commit

Permalink
Merge pull request RedHatInsights#35 from karelhala/services-config
Browse files Browse the repository at this point in the history
Add services config, IDs and description to navigation elements
  • Loading branch information
karelhala authored Apr 6, 2023
2 parents b928df9 + e06e8cc commit c532173
Show file tree
Hide file tree
Showing 24 changed files with 564 additions and 51 deletions.
2 changes: 2 additions & 0 deletions cmd/validate/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ func main() {
validateModules(cwd)
fmt.Println("Validating navigation definitions")
validateNavigation(cwd)
fmt.Println("Validating section definitions")
validateServices(cwd)
}
29 changes: 29 additions & 0 deletions cmd/validate/validateServices.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package main

import (
"fmt"
"path/filepath"

"github.com/xeipuuv/gojsonschema"
)

func validateServices(cwd string) {
schemaLoader := gojsonschema.NewReferenceLoader("file://./static/servicesSchema.json")
servicesFile, err := filepath.Glob(cwd + "/static/**/**/**/services.json")
handleErr(err)

for _, file := range servicesFile {
documentLoader := gojsonschema.NewReferenceLoader(fmt.Sprintf("file://%s", file))
result, err := gojsonschema.Validate(schemaLoader, documentLoader)
if err != nil {
panic(err.Error())
}

if !result.Valid() {
for _, desc := range result.Errors() {
fmt.Printf("- %s\n", desc)
}
panic(fmt.Sprintf("The %s is not valid. see errors :\n", file))
}
}
}
7 changes: 7 additions & 0 deletions docs/cloud-services-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ All CSC files are located under the `/static` directory. Based on the required e
- `/static/beta/prod/navigation/*.-navigation.json` for prod-beta
- `/static/beta/stage/navigation/*.-navigation.json` for stage-beta

**Services**

- `/static/stable/prod/services/services.json` for prod-stable
- `/static/stable/stage/services/services.json` for stage-stable
- `/static/beta/prod/services/services.json` for prod-beta
- `/static/beta/stage/services/services.json` for stage-beta

### Making changes

You can use the [CSC documentation](https://github.com/RedHatInsights/cloud-services-config#chromefed-modulesjson) for reference.
1 change: 1 addition & 0 deletions static/beta/prod/services/services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
45 changes: 38 additions & 7 deletions static/beta/stage/navigation/ansible-navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"navItems": [
{
"appId": "ansibleDashboard",
"id": "overview",
"title": "Overview",
"filterable": false,
"href": "/ansible/ansible-dashboard"
Expand All @@ -13,30 +14,36 @@
"expandable": true,
"routes": [
{
"id": "collections",
"appId": "automationHub",
"title": "Collections",
"href": "/ansible/automation-hub/",
"product": "Ansible Automation Hub"
"product": "Ansible Automation Hub",
"description": "Find and download Ansible Content Collections from Red Hat and partners."
},
{
"id": "partners",
"appId": "automationHub",
"title": "Partners",
"href": "/ansible/automation-hub/partners",
"product": "Ansible Automation Hub"
},
{
"id": "repoManagement",
"appId": "automationHub",
"title": "Repo Management",
"href": "/ansible/automation-hub/repositories",
"product": "Ansible Automation Hub"
},
{
"id": "taskManagement",
"appId": "automationHub",
"title": "Task Management",
"href": "/ansible/automation-hub/tasks",
"product": "Ansible Automation Hub"
},
{
"id": "connectToHub",
"appId": "automationHub",
"title": "Connect to Hub",
"href": "/ansible/automation-hub/token",
Expand All @@ -49,42 +56,50 @@
"expandable": true,
"routes": [
{
"id": "organizationStatistics",
"appId": "automationAnalytics",
"title": "Organization Statistics",
"href": "/ansible/automation-analytics/organization-statistics",
"product": "Ansible Automation Analytics"
},
{
"id": "jobExplorer",
"appId": "automationAnalytics",
"title": "Job Explorer",
"href": "/ansible/automation-analytics/job-explorer",
"product": "Ansible Automation Analytics"
},
{
"id": "clusters",
"appId": "automationAnalytics",
"title": "Clusters",
"href": "/ansible/automation-analytics/clusters",
"product": "Ansible Automation Analytics"
},
{
"id": "reports",
"appId": "automationAnalytics",
"title": "Reports",
"href": "/ansible/automation-analytics/reports",
"product": "Ansible Automation Analytics"
"product": "Ansible Automation Analytics",
"description": "Plan, measure, and scale your automation using actionable data."
},
{
"id": "savingPlanner",
"appId": "automationAnalytics",
"title": "Savings Planner",
"href": "/ansible/automation-analytics/savings-planner",
"product": "Ansible Automation Analytics"
},
{
"id": "automationCalculator",
"appId": "automationAnalytics",
"title": "Automation Calculator",
"href": "/ansible/automation-analytics/reports/automation_calculator/",
"product": "Ansible Automation Analytics"
},
{
"id": "notifications",
"appId": "automationAnalytics",
"title": "Notifications",
"href": "/ansible/automation-analytics/notifications",
Expand All @@ -93,6 +108,7 @@
]
},
{
"id": "documentation",
"title": "Documentation",
"isExternal": true,
"filterable": false,
Expand All @@ -104,28 +120,34 @@
"title": "Red Hat Insights",
"navItems": [
{
"id": "inventory",
"appId": "inventory",
"title": "Inventory",
"href": "/ansible/inventory",
"product": "Red Hat Insights"
"product": "Red Hat Insights",
"description": "Get recommendations to prevent and resolve potential issues on your Ansible-managed ecosystem."
},
{
"title": "Advisor",
"expandable": true,
"routes": [
{
"id": "recommendations",
"appId": "advisor",
"title": "Recommendations",
"href": "/ansible/advisor/recommendations",
"product": "Red Hat Insights"
"product": "Red Hat Insights",
"description": "See targeted recommendations to optimize your Ansible hosts’ availability, performance, and security."
},
{
"id": "systems",
"appId": "advisor",
"title": "Systems",
"href": "/ansible/advisor/systems",
"product": "Red Hat Insights"
},
{
"id": "topics",
"appId": "approval",
"title": "Topics",
"href": "/ansible/advisor/topics",
Expand All @@ -138,12 +160,15 @@
"expandable": true,
"routes": [
{
"id": "comparision",
"appId": "drift",
"title": "Comparison",
"href": "/ansible/drift/",
"product": "Red Hat Insights"
"product": "Red Hat Insights",
"description": "Compare systems in your Ansible inventory to one another or against a set baseline."
},
{
"id": "baselines",
"appId": "drift",
"title": "Baselines",
"href": "/ansible/drift/baselines",
Expand All @@ -152,26 +177,32 @@
]
},
{
"id": "policies",
"appId": "policies",
"title": "Policies",
"href": "/ansible/policies"
"href": "/ansible/policies",
"description": "Monitor your Ansible hosts against set parameters to detect deviation or misalignment."
}
]
},
{
"id": "registerSystems",
"appId": "registration",
"title": "Register Systems",
"filterable": false,
"href": "/ansible/registration",
"product": "Red Hat Insights"
},
{
"id": "remediations",
"appId": "remediations",
"title": "Remediations",
"href": "/ansible/remediations",
"product": "Red Hat Insights"
"product": "Red Hat Insights",
"description": "Resolve issues with security, configuration, compliance, and policy recommendations."
},
{
"id": "tasks",
"appId": "tasks",
"title": "Tasks",
"href": "/ansible/tasks",
Expand Down
Loading

0 comments on commit c532173

Please sign in to comment.