160 lines
10 KiB
Go
160 lines
10 KiB
Go
package authorization
|
|
|
|
import (
|
|
"github.com/litmuschaos/litmus/chaoscenter/graphql/server/graph/model"
|
|
)
|
|
|
|
// RoleQuery states the query for the roles
|
|
type RoleQuery string
|
|
|
|
const (
|
|
UserInfrastructureReg RoleQuery = "userInfrastructureReg"
|
|
CreateChaosWorkFlow RoleQuery = "CreateChaosWorkFlow"
|
|
ReRunChaosWorkFlow RoleQuery = "ReRunChaosWorkFlow"
|
|
DeleteChaosWorkflow RoleQuery = "DeleteChaosWorkflow"
|
|
TerminateChaosWorkflow RoleQuery = "TerminateChaosWorkflow"
|
|
SyncWorkflow RoleQuery = "SyncWorkflow"
|
|
SendInvitation RoleQuery = "SendInvitation"
|
|
AcceptInvitation RoleQuery = "AcceptInvitation"
|
|
DeclineInvitation RoleQuery = "DeclineInvitation"
|
|
RemoveInvitation RoleQuery = "RemoveInvitation"
|
|
LeaveProject RoleQuery = "LeaveProject"
|
|
UpdateProjectName RoleQuery = "UpdateProjectName"
|
|
AddChaosHub RoleQuery = "AddChaosHub"
|
|
SyncHub RoleQuery = "SyncChaosHub"
|
|
UpdateChaosWorkflow RoleQuery = "UpdateChaosWorkflow"
|
|
DeleteInfrastructures RoleQuery = "DeleteInfrastructures"
|
|
UpdateChaosHub RoleQuery = "UpdateChaosHub"
|
|
DeleteChaosHub RoleQuery = "DeleteChaosHub"
|
|
EnableGitOps RoleQuery = "EnableGitOps"
|
|
DisableGitOps RoleQuery = "DisableGitOps"
|
|
UpdateGitOps RoleQuery = "UpdateGitOps"
|
|
CreateDataSource RoleQuery = "CreateDataSource"
|
|
CreateDashBoard RoleQuery = "CreateDashBoard"
|
|
UpdateDataSource RoleQuery = "UpdateDataSource"
|
|
UpdateDashboard RoleQuery = "UpdateDashboard"
|
|
DeleteDashboard RoleQuery = "DeleteDashboard"
|
|
DeleteDataSource RoleQuery = "DeleteDataSource"
|
|
ListWorkflowRuns RoleQuery = "ListWorkflowRuns"
|
|
GetWorkflowRun RoleQuery = "GetWorkflowRun"
|
|
ListInfrastructures RoleQuery = "ListInfrastructures"
|
|
GetInfrastructure RoleQuery = "GetInfrastructure "
|
|
GetManifest RoleQuery = "GetManifest"
|
|
GetInfraDetails RoleQuery = "GetInfraDetails"
|
|
GetProject RoleQuery = "GetProject"
|
|
ListHeatmapData RoleQuery = "ListHeatmapData"
|
|
ListWorkflowStats RoleQuery = "ListWorkflowStats"
|
|
ListCharts RoleQuery = "ListCharts"
|
|
GetHubExperiment RoleQuery = "GetChaosFault"
|
|
GetWorkflowRunStats RoleQuery = "GetWorkflowRunStats"
|
|
ListHubStatus RoleQuery = "ListChaosHubs"
|
|
ListPortalDashboardData RoleQuery = "ListPortalDashboardData"
|
|
ListWorkflow RoleQuery = "ListWorkflow"
|
|
SaveChaosHub RoleQuery = "SaveChaosHub"
|
|
CreateWorkflowTemplate RoleQuery = "CreateWorkflowTemplate"
|
|
DeleteWorkflowTemplate RoleQuery = "DeleteWorkflowTemplate"
|
|
CreateImageRegistry RoleQuery = "CreateImageRegistry"
|
|
UpdateImageRegistry RoleQuery = "UpdateImageRegistry"
|
|
DeleteImageRegistry RoleQuery = "DeleteImageRegistry"
|
|
GetYAMLData RoleQuery = "GetYAMLData"
|
|
PredefinedWorkflowOperations RoleQuery = "PredefinedWorkflowOperations"
|
|
ListPredefinedWorkflows RoleQuery = "ListPredefinedWorkflows"
|
|
GetPredefinedExperimentYaml RoleQuery = "GetPredefinedExperimentYaml"
|
|
GetExperimentDetails RoleQuery = "GetExperimentDetails"
|
|
ListDataSource RoleQuery = "ListDataSource"
|
|
ListDashboard RoleQuery = "ListDashboard"
|
|
GetGitOpsDetails RoleQuery = "GetGitOpsDetails"
|
|
ListWorkflowManifests RoleQuery = "ListWorkflowManifests"
|
|
GetWorkflowManifestByID RoleQuery = "GetWorkflowManifestByID"
|
|
ListImageRegistry RoleQuery = "ListImageRegistry"
|
|
GetImageRegistry RoleQuery = "GetImageRegistry"
|
|
CreateEnvironment RoleQuery = "CreateEnvironment"
|
|
UpdateEnvironment RoleQuery = "UpdateEnvironment"
|
|
DeleteEnvironment RoleQuery = "DeleteEnvironment"
|
|
GetEnvironment RoleQuery = "GetEnvironment"
|
|
ListEnvironments RoleQuery = "ListEnvironments"
|
|
AddProbe RoleQuery = "AddProbe"
|
|
DeleteProbe RoleQuery = "DeleteProbe"
|
|
UpdateProbe RoleQuery = "UpdateProbe"
|
|
GetProbe RoleQuery = "GetProbe"
|
|
ListProbes RoleQuery = "ListProbes"
|
|
MemberRoleOwnerString = string(model.MemberRoleOwner)
|
|
MemberRoleEditorString = string(model.MemberRoleEditor)
|
|
MemberRoleViewerString = string(model.MemberRoleViewer)
|
|
)
|
|
|
|
var MutationRbacRules = map[RoleQuery][]string{
|
|
UserInfrastructureReg: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
CreateChaosWorkFlow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
ReRunChaosWorkFlow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteChaosWorkflow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
TerminateChaosWorkflow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
SyncWorkflow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
SendInvitation: {MemberRoleOwnerString},
|
|
AcceptInvitation: {MemberRoleViewerString, MemberRoleEditorString},
|
|
DeclineInvitation: {MemberRoleViewerString, MemberRoleEditorString},
|
|
RemoveInvitation: {MemberRoleOwnerString},
|
|
LeaveProject: {MemberRoleViewerString, MemberRoleEditorString},
|
|
UpdateProjectName: {MemberRoleOwnerString},
|
|
AddChaosHub: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
SyncHub: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateChaosWorkflow: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteInfrastructures: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateChaosHub: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteChaosHub: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
EnableGitOps: {MemberRoleOwnerString},
|
|
DisableGitOps: {MemberRoleOwnerString},
|
|
UpdateGitOps: {MemberRoleOwnerString},
|
|
CreateDataSource: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
CreateDashBoard: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateDataSource: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateDashboard: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteDashboard: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteDataSource: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
ListWorkflowRuns: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetWorkflowRun: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListInfrastructures: {MemberRoleOwnerString, MemberRoleEditorString,
|
|
MemberRoleViewerString},
|
|
GetInfrastructure: {MemberRoleOwnerString, MemberRoleEditorString,
|
|
MemberRoleViewerString},
|
|
GetManifest: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
GetInfraDetails: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
GetProject: {MemberRoleOwnerString, MemberRoleEditorString,
|
|
MemberRoleViewerString},
|
|
ListHeatmapData: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListWorkflowStats: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListCharts: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetHubExperiment: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetWorkflowRunStats: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListHubStatus: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListPortalDashboardData: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListWorkflow: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
SaveChaosHub: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
CreateWorkflowTemplate: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteWorkflowTemplate: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
CreateImageRegistry: {MemberRoleOwnerString},
|
|
UpdateImageRegistry: {MemberRoleOwnerString},
|
|
DeleteImageRegistry: {MemberRoleOwnerString},
|
|
GetYAMLData: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
PredefinedWorkflowOperations: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
ListPredefinedWorkflows: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetPredefinedExperimentYaml: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListDataSource: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListDashboard: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetGitOpsDetails: {MemberRoleOwnerString},
|
|
ListWorkflowManifests: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetExperimentDetails: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
GetWorkflowManifestByID: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListImageRegistry: {MemberRoleOwnerString},
|
|
GetImageRegistry: {MemberRoleOwnerString},
|
|
CreateEnvironment: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateEnvironment: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
DeleteEnvironment: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
GetEnvironment: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListEnvironments: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
AddProbe: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
UpdateProbe: {MemberRoleOwnerString, MemberRoleEditorString},
|
|
GetProbe: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
ListProbes: {MemberRoleOwnerString, MemberRoleEditorString, MemberRoleViewerString},
|
|
}
|