restructure rcloud-base as a single base controller (#37)

* restructure rcloud-base as a single base controller
* updated master.rest
* moved sentry from internal to pkg as it is used by relay
* removing unused rpc and it's dependencies
* Fix usermgmt tests
* Don't redefine variables in rest file
Co-authored-by: Abin Simon <abin.simon@rafay.co>
This commit is contained in:
nirav-rafay
2022-03-03 17:59:06 +05:30
committed by GitHub
parent 4ff3d06ef7
commit c66bdc25cd
1176 changed files with 9472 additions and 88767 deletions
@@ -0,0 +1,64 @@
package main
import (
"context"
"database/sql"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"path"
"github.com/RafaySystems/rcloud-base/internal/models"
"github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg"
"github.com/uptrace/bun"
"github.com/uptrace/bun/dialect/pgdialect"
"github.com/uptrace/bun/driver/pgdriver"
)
func addResourcePermissions(dao pg.EntityDAO, basePath string) error {
var items []models.ResourcePermission
files, err := ioutil.ReadDir(basePath)
if err != nil {
log.Fatal(err)
}
for _, file := range files {
if !file.IsDir() { // probably not, but just in case
content, err := ioutil.ReadFile(path.Join(basePath, file.Name()))
if err != nil {
log.Fatal(err)
}
// It has ResourceRefId, but that does not seem to be used in the old implementatino
// Also, why do we need two items?
var data models.ResourcePermission
err = json.Unmarshal(content, &data)
if err != nil {
log.Fatal(err)
}
items = append(items, data)
}
}
fmt.Println("Adding", len(items), "resouces permissions")
_, err = dao.Create(context.Background(), &items)
return err
}
func main() {
dsn := "postgres://admindbuser:admindbpassword@localhost:5432/admindb?sslmode=disable"
sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn)))
db := bun.NewDB(sqldb, pgdialect.New())
dao := pg.NewEntityDAO(db)
// TODO: add option to update the existing list
err := dao.DeleteAll(context.Background(), &models.ResourcePermission{})
if err != nil {
log.Fatal(err)
}
err = addResourcePermissions(dao, path.Join("scripts", "resourcepermissions", "data"))
if err != nil {
fmt.Println("Run from base directory")
log.Fatal(err)
}
}
@@ -0,0 +1,20 @@
{
"name": "account.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:account_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/auth/v3/accounts",
"authenticated": true
}
@@ -0,0 +1,45 @@
{
"name": "accountrole.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:accountrole_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/current/",
"methods": [
"GET"
]
},
{
"url": "/roles/",
"methods": [
"GET"
]
},
{
"url": "/:accountrole_id/apikeys/",
"methods": [
"GET"
]
},
{
"url": "/:accountrole_id/regauthkeys/",
"methods": [
"GET"
]
}
],
"base_url": "/auth/v3/accountroles",
"authenticated": true
}
@@ -0,0 +1,46 @@
{
"name": "accountrole.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:accountrole_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:accountrole_id/activate/",
"methods": [
"POST"
]
},
{
"url": "/:accountrole_id/deactivate/",
"methods": [
"POST"
]
},
{
"url": "/:accountrole_id/apikey/",
"methods": [
"POST"
]
},
{
"url": "/:accountrole_id/regauthkey/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/accountroles",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "audit.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/relay",
"methods": [
"GET"
]
}
],
"base_url": "/event/v1/audit",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "certificate.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:certificate_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/certificates",
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "certificate.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:certificate_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:certificate_id/self_signed/",
"methods": [
"POST"
]
}
],
"base_url": "/config/v1/certificates",
"authenticated": true
}
@@ -0,0 +1,45 @@
{
"name": "cluster.scheduler.read",
"base_url": "/v2/scheduler/cluster",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_name/download",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/namespace",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/task",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/node",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,34 @@
{
"name": "cluster.scheduler.write",
"base_url": "/v2/scheduler/cluster",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_name/blueprint/publish",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name/nodes/meta",
"methods": [
"PUT"
]
}
],
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "clusterctl.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/taskset/:tasksetid/",
"methods": [
"GET"
]
}
],
"base_url": "/edge/v1/clusterctl",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "clusterctl.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
}
],
"resource_action_urls": [],
"base_url": "/edge/v1/clusterctl",
"authenticated": true
}
@@ -0,0 +1,102 @@
{
"name": "console.all",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/auth/v3/users/:account_id/current/",
"methods": [
"GET"
]
},
{
"url": "/auth/v3/users/:account_id/systemroles/",
"methods": [
"GET"
]
},
{
"url": "/auth/v3/users/:account_id/change_password/",
"methods": [
"POST"
]
},
{
"url": "/auth/v3/users/:account_id/apikey/",
"methods": [
"GET",
"POST"
]
},
{
"url": "/auth/v3/users/:account_id/apikey/:apikey_id/",
"methods": [
"GET",
"DELETE"
]
},
{
"url": "/auth/v3/apikeys/:apikey_id/",
"methods": [
"DELETE"
]
},
{
"url": "/auth/v3/accountroles/:accountrole_id/apikeys/",
"methods": [
"GET"
]
},
{
"url": "/auth/v3/accountroles/:accountrole_id/regauthkeys/",
"methods": [
"GET"
]
},
{
"url": "/auth/v3/accountroles/:accountrole_id/regauthkey/",
"methods": [
"POST"
]
},
{
"url": "/v2/scheduler/cluster/:cluster_name/task",
"methods": [
"GET"
]
},
{
"url": "/event/v1/alert/outstanding",
"methods": [
"POST"
]
},
{
"url": "/event/v1/alert/:id",
"methods": [
"GET"
]
},
{
"url": "/event/v1/cluster/:cluster_id/alertconfig",
"methods": [
"GET",
"PUT",
"DELETE"
]
},
{
"url": "/event/v1/alert/dashboard",
"methods": [
"POST"
]
},
{
"url": "/event/v1/alert/close",
"methods": [
"POST"
]
}
],
"base_url": "",
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "credential.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:credential_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/validate/:credential_id/",
"methods": [
"GET"
]
}
],
"base_url": "/config/v1/credentials",
"authenticated": true
}
@@ -0,0 +1,21 @@
{
"name": "credential.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:credential_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/credentials",
"authenticated": true
}
@@ -0,0 +1,39 @@
{
"name": "group.read",
"base_url": "/auth/v3/groups",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:group_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:group_id/users/",
"methods": [
"GET"
]
},
{
"url": "/:group_id/roles/",
"methods": [
"GET"
]
},
{
"url": "/:group_id/projects/",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,58 @@
{
"name": "group.write",
"base_url": "/auth/v3/groups",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:group_id/removeuser/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/removeusers/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/addusers/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/assigntoproject/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/unassignfromproject/",
"methods": [
"POST"
]
},
{
"url": "/:group_id/editproject/",
"methods": [
"POST"
]
}
],
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "hub.agent.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:agent_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:agent_name/status",
"methods": [
"GET"
]
}
],
"base_url": "/apis/gitops.k8smgmt.io/v3/projects/:project_name/agents",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.agent.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:agent_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/gitops.k8smgmt.io/v3/projects/:project_name/agents",
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "hub.cluster.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_name/status",
"methods": [
"GET"
]
}
],
"base_url": "/apis/infra.k8smgmt.io/v3/projects/:project_name/clusters",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.cluster.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/infra.k8smgmt.io/v3/projects/:project_name/clusters",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.infraprovisioner.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:infraprovisioner_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/infraprovisioners",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.infraprovisioner.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:infraprovisioner_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/infraprovisioners",
"authenticated": true
}
@@ -0,0 +1,33 @@
{
"name": "hub.namespace.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:namespace_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:namespace_name/status",
"methods": [
"GET"
]
},
{
"url": "/:namespace_name/artifacts",
"methods": [
"GET"
]
}
],
"base_url": "/apis/infra.k8smgmt.io/v3/projects/:project_name/namespaces",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.namespace.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:namespace_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/infra.k8smgmt.io/v3/projects/:project_name/namespaces",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "hub.openapi.explorer.read",
"resource_urls": [
{
"url": "/openapi-explorer",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/openapi-explorer",
"authenticated": false
}
@@ -0,0 +1,20 @@
{
"name": "hub.organization.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:organization_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.organization.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:organization_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.partner.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:partner_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/partners",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.partner.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:partner_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/partners",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.pipeline.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:pipeline_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/gitops.k8smgmt.io/v3/projects/:project_name/pipelines",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.pipeline.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:pipeline_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/gitops.k8smgmt.io/v3/projects/:project_name/pipelines",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.project.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:project_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/projects",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.project.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:project_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/system.k8smgmt.io/v3/projects",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.repository.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:repository_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/integrations.k8smgmt.io/v3/projects/:project_name/repositories",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.repository.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:repository_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/integrations.k8smgmt.io/v3/projects/:project_name/repositories",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.wellknown.read",
"resource_urls": [
{
"url": "/openapi.json",
"methods": [
"GET"
]
},
{
"url": "/openapi.yaml",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/.well-known",
"authenticated": false
}
@@ -0,0 +1,33 @@
{
"name": "hub.workload.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:workload_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:workload_name/status",
"methods": [
"GET"
]
},
{
"url": "/:workload_name/artifacts",
"methods": [
"GET"
]
}
],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/workloads",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.workload.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:workload_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/workloads",
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "hub.workloadtemplate.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:workloadtemplate_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:workloadtemplate_name/artifacts",
"methods": [
"GET"
]
}
],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/workloadtemplates",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "hub.workloadtemplate.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:workloadtemplate_name",
"methods": [
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/apis/apps.k8smgmt.io/v3/projects/:project_name/workloadtemplates",
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "idle.timeout.settings.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:organization_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/idle_timeout_settings/",
"methods": [
"GET"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "idle.timeout.settings.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/set_idle_timeout_settings/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,45 @@
{
"name": "kubeconfig.read",
"base_url": "/v2/sentry/kubeconfig",
"resource_urls": [
{
"url": "/user",
"methods": [
"GET"
]
},
{
"url": "/ssouser",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/revoke",
"methods": [
"POST"
]
},
{
"url": "/user/:account_id/setting",
"methods": [
"GET"
]
},
{
"url": "/ssouser/:account_id/setting",
"methods": [
"GET"
]
},
{
"url": "/organization/:organization_id/setting",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,38 @@
{
"name": "kubeconfig.write",
"base_url": "/v2/sentry/kubeconfig",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/user/:account_id/revoke",
"methods": [
"POST"
]
},
{
"url": "/ssouser/:account_id/revoke",
"methods": [
"POST"
]
},
{
"url": "/user/:account_id/setting",
"methods": [
"PUT"
]
},
{
"url": "/ssouser/:account_id/setting",
"methods": [
"PUT"
]
},
{
"url": "/organization/:organization_id/setting",
"methods": [
"PUT"
]
}
],
"authenticated": true
}
@@ -0,0 +1,7 @@
{
"name": "kubectl.cluster.read",
"base_url": "",
"resource_urls": [],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,7 @@
{
"name": "kubectl.cluster.write",
"base_url": "",
"resource_urls": [],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "kubectl.clustersettings.read",
"base_url": "/v2/sentry/kubectl",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/cluster/:cluster_id/settings",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "kubectl.clustersettings.write",
"base_url": "/v2/sentry/kubectl",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/cluster/:cluster_id/settings",
"methods": [
"PUT"
]
}
],
"authenticated": true
}
@@ -0,0 +1,7 @@
{
"name": "kubectl.fullaccess",
"base_url": "",
"resource_urls": [],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,7 @@
{
"name": "kubectl.namespace.read",
"base_url": "",
"resource_urls": [],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,7 @@
{
"name": "kubectl.namespace.write",
"base_url": "",
"resource_urls": [],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "lockout.settings.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:organization_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/lockout_settings/",
"methods": [
"GET"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "lockout.settings.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/set_lockout_settings/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "namespace.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:namesapce_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/namespaces",
"authenticated": true
}
@@ -0,0 +1,21 @@
{
"name": "namespace.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:namesapce_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/namespaces",
"authenticated": true
}
@@ -0,0 +1,17 @@
{
"name": "ops_star.all",
"resource_urls": [
{
"url": "/:*",
"methods": [
"GET",
"POST",
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "org.alert.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/search",
"methods": [
"POST"
]
},
{
"url": "/types",
"methods": [
"POST"
]
}
],
"base_url": "/event/v1/alert",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "org.alertconfig.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/organization/:organization_id/alertconfig",
"authenticated": true
}
@@ -0,0 +1,15 @@
{
"name": "org.alertconfig.write",
"resource_urls": [
{
"url": "",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/organization/:organization_id/alertconfig",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "org.auditLog.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/auditlog",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "org.relayAudit.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/relayaudit",
"authenticated": true
}
@@ -0,0 +1,39 @@
{
"name": "organization.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:organization_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/accountroles/",
"methods": [
"GET"
]
},
{
"url": "/:organization_id/namespaces/",
"methods": [
"GET"
]
},
{
"url": "/:organization_id/alert_subscription/",
"methods": [
"GET"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,130 @@
{
"name": "organization.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:organization_id/namespace/",
"methods": [
"PUT"
]
},
{
"url": "/:organization_id/approve/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/unapprove/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/enable_private_edge/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/disable_private_edge/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/activate/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/deactivate/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/share_clusters/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/tier/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/adduser/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/edituser/",
"methods": [
"PUT"
]
},
{
"url": "/:organization_id/deactivateuser/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/activateuser/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/subscribe_to_alert/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/enable_psps/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/enable_custom_psps/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/disable_psps/",
"methods": [
"POST"
]
},
{
"url": "/:organization_id/disable_custom_psps/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/organizations",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "partner.alertconfig.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/partner/:partner_id/alertconfig",
"authenticated": true
}
@@ -0,0 +1,15 @@
{
"name": "partner.alertconfig.write",
"resource_urls": [
{
"url": "",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/partner/:partner_id/alertconfig",
"authenticated": true
}
@@ -0,0 +1,33 @@
{
"name": "partner.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:partner_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:partner_id/getcertificates/",
"methods": [
"GET"
]
},
{
"url": "/:partner_id/accountroles/",
"methods": [
"GET"
]
}
],
"base_url": "/auth/v3/partners",
"authenticated": true
}
@@ -0,0 +1,58 @@
{
"name": "partner.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:partner_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:partner_id/addcertificates/",
"methods": [
"PUT"
]
},
{
"url": "/:partner_id/adduser/",
"methods": [
"POST"
]
},
{
"url": "/:partner_id/edituser/",
"methods": [
"PUT"
]
},
{
"url": "/:partner_id/deleteuser/",
"methods": [
"POST"
]
},
{
"url": "/:partner_id/deactivateuser/",
"methods": [
"POST"
]
},
{
"url": "/:partner_id/activateuser/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/partners",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "partnerdetails.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/auth/v3/partner/details",
"authenticated": true
}
@@ -0,0 +1,33 @@
{
"name": "project.activityjobs.read",
"base_url": "/edge/v1/projects/:project_id/activityjobs",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:job_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:job_id/executions/",
"methods": [
"GET"
]
},
{
"url": "/:job_id/status/",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "project.activityjobs.write",
"base_url": "/edge/v1/projects/:project_id/activityjobs",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:job_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:job_id/launch",
"methods": [
"POST"
]
}
],
"authenticated": true
}
@@ -0,0 +1,33 @@
{
"name": "project.activityplans.read",
"base_url": "/edge/v1/projects/:project_id/activityplans",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:plan_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:plan_id/clusters/",
"methods": [
"GET"
]
},
{
"url": "/:plan_id/executions/",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "project.activityplans.write",
"base_url": "/edge/v1/projects/:project_id/activityplans",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:plan_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:plan_id/previewclusters/",
"methods": [
"POST"
]
}
],
"authenticated": true
}
@@ -0,0 +1,32 @@
{
"name": "project.admin.write",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/:project_id/addusers/",
"methods": [
"POST"
]
},
{
"url": "/:project_id/addgroups/",
"methods": [
"POST"
]
},
{
"url": "/:project_id/removeusers/",
"methods": [
"POST"
]
},
{
"url": "/:project_id/removegroups/",
"methods": [
"POST"
]
}
],
"base_url": "/auth/v3/projects",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.agent.read",
"base_url": "/v2/config/project/:project_id/agent",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:agent_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.agentVersion.read",
"base_url": "/v2/config/agentVersion",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/latest",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"authenticated": true
}
@@ -0,0 +1,34 @@
{
"name": "project.agent.write",
"base_url": "/v2/config/project/:project_id/agent",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:agent_name",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:agent_name/activate",
"methods": [
"POST"
]
},
{
"url": "/:agent_name/deactivate",
"methods": [
"POST"
]
}
],
"authenticated": true
}
@@ -0,0 +1,39 @@
{
"name": "project.aggregate.status.read",
"resource_urls": [
{
"url": "/status",
"methods": [
"GET"
]
},
{
"url": "/status/:workload_name",
"methods": [
"GET"
]
},
{
"url": "/blueprint",
"methods": [
"GET"
]
},
{
"url": "/addon",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/blueprint/count",
"methods": [
"GET"
]
}
],
"base_url": "/v2/config/project/:project_id/aggregate",
"authenticated": true
}
@@ -0,0 +1,32 @@
{
"name": "project.alert.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/search",
"methods": [
"POST"
]
},
{
"url": "/types",
"methods": [
"POST"
]
},
{
"url": "/dashboard",
"methods": [
"POST"
]
},
{
"url": "/close",
"methods": [
"POST"
]
}
],
"base_url": "/event/v1/project/:project_id/alert",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.alertconfig.read",
"resource_urls": [
{
"url": "/alertconfig",
"methods": [
"GET"
]
},
{
"url": "/clusters/alertconfig",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/project/:project_id",
"authenticated": true
}
@@ -0,0 +1,15 @@
{
"name": "project.alertconfig.write",
"resource_urls": [
{
"url": "/alertconfig",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/project/:project_id",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.approval.customer.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:approval_id",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/pipeline/projects/:project_id/approvals",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.approval.customer.write",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/:approval_id/approve",
"methods": [
"POST"
]
},
{
"url": "/:approval_id/deny",
"methods": [
"POST"
]
}
],
"base_url": "/v2/pipeline/projects/:project_id/approvals",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.approval.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:approval_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/pipeline/project/:project_id/approval",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.approval.write",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/:approval_name/approve",
"methods": [
"POST"
]
},
{
"url": "/:approval_name/deny",
"methods": [
"POST"
]
}
],
"base_url": "/v2/pipeline/project/:project_id/approval",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.approvalsummary.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:approval_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/pipeline/project/:project_id/approvalsummary",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "project.auditLog.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/event/v1/project/:project_id/auditlog",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "project.audit.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/relay",
"methods": [
"GET"
]
}
],
"base_url": "/event/v1/project/:project_id/audit",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.certificate.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:certificate_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/projects/:project_id/certificates",
"authenticated": true
}
@@ -0,0 +1,28 @@
{
"name": "project.certificate.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:certificate_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:certificate_id/self_signed/",
"methods": [
"POST"
]
}
],
"base_url": "/config/v1/projects/:project_id/certificates",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.clusterOverride.read.workload",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:override_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/config/project/:project_id/overrides/workloads",
"authenticated": true
}
@@ -0,0 +1,21 @@
{
"name": "project.clusterOverride.write.workload",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:override_name",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/config/project/:project_id/overrides/workloads",
"authenticated": true
}
@@ -0,0 +1,51 @@
{
"name": "project.cluster.scheduler.read",
"base_url": "/v2/scheduler/project/:project_id/cluster",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_name/download",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/namespace",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/task",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/workloadsummary",
"methods": [
"GET"
]
},
{
"url": "/:cluster_name/blueprintsummary",
"methods": [
"GET"
]
}
],
"authenticated": true
}
@@ -0,0 +1,52 @@
{
"name": "project.cluster.scheduler.write",
"base_url": "/v2/scheduler/project/:project_id/cluster",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_name/blueprint/publish",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name/assignproject",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name/unassignproject",
"methods": [
"POST"
]
},
{
"url": "/:cluster_name/nodes/meta",
"methods": [
"PUT"
]
},
{
"url": "/:cluster_name/nodegroupingkeys",
"methods": [
"POST"
]
}
],
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "project.clusterctl.read",
"resource_urls": [],
"resource_action_urls": [
{
"url": "/taskset/:tasksetid/",
"methods": [
"GET"
]
}
],
"base_url": "/edge/v1/projects/:project_id/clusterctl",
"authenticated": true
}
@@ -0,0 +1,14 @@
{
"name": "project.clusterctl.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
}
],
"resource_action_urls": [],
"base_url": "/edge/v1/projects/:project_id/clusterctl",
"authenticated": true
}
@@ -0,0 +1,20 @@
{
"name": "project.container.registry.read",
"resource_urls": [
{
"url": "",
"methods": [
"GET"
]
},
{
"url": "/:containerRegistry_name",
"methods": [
"GET"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/config/project/:project_id/containerRegistry",
"authenticated": true
}
@@ -0,0 +1,21 @@
{
"name": "project.container.registry.write",
"resource_urls": [
{
"url": "",
"methods": [
"POST"
]
},
{
"url": "/:containerRegistry_name",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/v2/config/project/:project_id/containerRegistry",
"authenticated": true
}
@@ -0,0 +1,27 @@
{
"name": "project.credential.read",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:credential_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:credential_id/validate/",
"methods": [
"GET"
]
}
],
"base_url": "/config/v1/projects/:project_id/credentials",
"authenticated": true
}
@@ -0,0 +1,21 @@
{
"name": "project.credential.write",
"resource_urls": [
{
"url": "/",
"methods": [
"POST"
]
},
{
"url": "/:credential_id/",
"methods": [
"PUT",
"DELETE"
]
}
],
"resource_action_urls": [],
"base_url": "/config/v1/projects/:project_id/credentials",
"authenticated": true
}
@@ -0,0 +1,99 @@
{
"name": "project.customer.clusters.read",
"base_url": "/v1/infra/projects/:project_id/clusters",
"resource_urls": [
{
"url": "/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/",
"methods": [
"GET"
]
}
],
"resource_action_urls": [
{
"url": "/:cluster_id/provision/log/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/provision/progress",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/key/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/kubectlconfig/:auth/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/cloudinfo/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/configfile/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/kubernetesversions/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/availableagentpoolversions/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/upgradestatus/:job_id",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/upgradestatus/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/activity/tasks/",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/activity/log/:job_id",
"methods": [
"GET"
]
},
{
"url": "/:cluster_id/nodes/:node_id/addlog/",
"methods": [
"GET"
]
}
],
"authenticated": true
}

Some files were not shown because too many files have changed in this diff Show More