:host = http://localhost:11000 :token = qJeyfD9IthujxqhbaEWOCkX8S3cjwvjk :partner = partner0 :org = org0 :project = project-uno :description = this is my first project :opts.urlScope_user = user/b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 :opts.urlScope_org = organization/0d95d65f-3ce9-4340-ac05-77f71084d0a6 :orgid = 0d95d65f-3ce9-4340-ac05-77f71084d0a6 :accountid = b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 opts.urlScope_cluster = cluster/eff85770-1a9e-42bc-824b-d0ff5a0f792c :cluster = testcluster :location = coimbatore-hq :city = coimbatore :state = tamilnadu :country = India :group = group-name :role = role-name :user = user.name@provider.com :namespace = 7 ## Project # Create Project POST :host/auth/v3/partner/:partner/organization/:org/project Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner organization: :org name: :project spec: default: true # Get all projects GET :host/auth/v3/partner/:partner/organization/:org/projects Content-Type: application/yaml X-Session-Token: :token # Get single project GET :host/auth/v3/partner/:partner/organization/:org/project/:project Content-Type: application/yaml X-Session-Token: :token # Update project info PUT :host/auth/v3/partner/:partner/organization/:org/project/:project Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner organization: :org name: :project description: :description spec: default: true # Delete single project DELETE :host/auth/v3/partner/:partner/organization/:org/project/:project ## Kubeconfig setting # Publish kubeconfig setting PUT :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting Content-Type: application/yaml X-Session-Token: :token opts: organization: :orgid account: :accountid validitySeconds: 5000 enableSessionCheck: true enablePrivateRelay: true enforceOrgAdminSecretAccess: true disableWebKubectl: false disableCLIKubectl: false # Get kubeconfig setting GET :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting X-Session-Token: :token # Publish kubeconfig setting PUT :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting Content-Type: application/yaml X-Session-Token: :token opts: organization: :orgid validitySeconds: 5000 enableSessionCheck: true enablePrivateRelay: true enforceOrgAdminSecretAccess: true disableWebKubectl: false disableCLIKubectl: false # Get kubeconfig setting GET :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting X-Session-Token: :token # Get kubeconfig for cluster system session GET :host/v2/sentry/kubeconfig/clustersystemsession?systemUser=true&opts.Organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d X-Session-Token: :token # Get kubeconfig for cluster web session GET :host/v2/sentry/kubeconfig/clusterwebsession?opts.account=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533&opts.organization=0d95d65f-3ce9-4340-ac05-77f71084d0a6&opts.partner=1aa87c65-f7a2-41c6-9d74-5fc27969836c&opts.username=nirav.parikh@finman.tech X-Session-Token: :token # Get kubeconfig for user GET :host/v2/sentry/kubeconfig/user?opts.selector=&opts.account=c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a&opts.organization=928b87f5-a4e8-4c97-8c91-0d431d7e1b82&opts.partner=a02cdb9f-a84f-49a1-b483-e7722d519cb8 X-Session-Token: :token # Revoke kubeconfig for user POST :host/v2/sentry/kubeconfig/revoke Content-Type: application/yaml X-Session-Token: :token opts: organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d account: c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a partner: a02cdb9f-a84f-49a1-b483-e7722d519cb8 # Kubeconfig get cluster settings GET :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings?opts.organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d X-Session-Token: :token # Publish kubectl settings PUT :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings Content-Type: application/yaml X-Session-Token: :token opts: organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d disableWebKubectl: true disableCLIKubectl: true # Get User Authorization GET :host/v2/sentry/authorization/user?userCN=a=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533/o=0d95d65f-3ce9-4340-ac05-77f71084d0a6/p=dec2483b-41b6-482f-b885-8d0edc39f76e/u=nirav.parikh@finman.tech&clusterID=28f0862f-a3e0-462d-9dae-88b9bb7f283c&certIssueSeconds=36000 ## Location # Create Location POST :host/v3/partner/:partner/location Content-Type: application/yaml X-Session-Token: :token metadata: name: :location partner: :partner spec: city: :city state: :state country: :country countryCode: IN stateCode: TN # Get all location GET :host/v3/partner/:partner/location Content-Type: application/yaml X-Session-Token: :token # Get single location GET :host/v3/partner/:partner/location/:location Content-Type: application/yaml X-Session-Token: :token # Update location info PUT :host/v3/partner/:partner/location/:location Content-Type: application/yaml X-Session-Token: :token metadata: name: :location partner: :partner spec: city: :city state: :state country: :country countryCode: IN stateCode: TN locale: IN # Delete single location DELETE :host/v3/partner/:partner/location/:location ## Cluster # Create Cluster POST :host/infra/v3/project/:project/cluster Content-Type: application/yaml X-Session-Token: :token metadata: name: :cluster partner: :partner organization: :organization project: :project spec: clusterType: imported params: environmentProvider: '' kubernetesProvider: OTHER provisionEnvironment: ONPREM provisionPackageType: '' provisionType: IMPORT state: CONFIG # Get all clusters GET :host/infra/v3/project/:project/cluster Content-Type: application/yaml X-Session-Token: :token # Get single cluster GET :host/infra/v3/project/:project/cluster/:cluster Content-Type: application/yaml X-Session-Token: :token # Update cluster info PUT :host/infra/v3/project/:project/cluster/:cluster Content-Type: application/yaml X-Session-Token: :token apiVersion: infra.k8smgmt.io/v3 kind: Cluster metadata: name: :cluster description: this is a test cluster labels: paralus.dev/clusterLocation: coimbatore-hq paralus.dev/clusterName: testcluster paralus.dev/clusterType: imported project: myproject organization: finmanorg partner: finman spec: clusterType: imported metro: name: :location city: :city state: :state country: :country overrideSelector: paralus.dev/overrideCluster=dummycluster proxyConfig: httpProxy: http:localhost:8080/proxy # Delete single cluster DELETE :host/infra/v3/project/:project/cluster/:cluster ## Users # Create user POST :host/auth/v3/users Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner organization: :org name: :user spec: firstName: John lastName: Doe # Create user with roles POST :host/auth/v3/users Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner organization: :org name: :user spec: firstName: John lastName: Doe projectNamespaceRoles: - role: :role namespace: :namespace project: :project # Get all users GET :host/auth/v3/users?partner=:partner&organization=:org&type=password Content-Type: application/yaml X-Session-Token: :token # Get all users with query options GET :host/auth/v3/users?partner=:partner&organization=:org&q=user&name=john&order_by=email&project=ALL,:project Content-Type: application/yaml X-Session-Token: :token # Get single user GET :host/auth/v3/user/:user Content-Type: application/yaml X-Session-Token: :token # Get recovery url (forgot password) GET :host/auth/v3/user/:user/forgotpassword Content-Type: application/yaml X-Session-Token: :token # Get currently logged in user info GET :host/auth/v3/userinfo Content-Type: application/yaml X-Session-Token: :token # Update user info PUT :host/auth/v3/user/:user Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner organization: :org name: :user spec: firstName: John lastName: Cena projectNamespaceRoles: - role: :role # Get all users GET :host/auth/v3/users Content-Type: application/yaml X-Session-Token: :token # Get all users with query options GET :host/auth/v3/users?partner=:partner&organization=:org&q=user&name=john&order_by=email&project=ALL,:project Content-Type: application/yaml X-Session-Token: :token # Get single user GET :host/auth/v3/user/:user Content-Type: application/yaml X-Session-Token: :token # Get currently logged in user info GET :host/auth/v3/userinfo Content-Type: application/yaml X-Session-Token: :token # Delete single user DELETE :host/auth/v3/user/:user X-Session-Token: :token ## Groups # Create group POST :host/auth/v3/partner/:partner/organization/:org/groups Content-Type: application/yaml X-Session-Token: :token metadata: name: :group description: My first description partner: :partner organization: :org spec: type: simple users: - :user projectNamespaceRoles: - role: NAMESPACE_ADMIN namespace: :namespace project: :project # Create group no namespace and project POST :host/auth/v3/partner/:partner/organization/:org/groups Content-Type: application/yaml X-Session-Token: :token metadata: name: :group description: My first description partner: :partner organization: :org spec: type: simple users: - :user projectNamespaceRoles: - role: CLUSTER_ADMIN # Update group to no namespace PUT :host/auth/v3/partner/:partner/organization/:org/group/:group Content-Type: application/yaml X-Session-Token: :token metadata: name: :group description: My first description partner: :partner organization: :org spec: type: simple users: - :user projectNamespaceRoles: - role: ADMIN # Get all groups GET :host/auth/v3/partner/:partner/organization/:org/groups Content-Type: application/yaml X-Session-Token: :token # Get filtered groups GET :host/auth/v3/partner/:partner/organization/:org/groups?q=group Content-Type: application/yaml X-Session-Token: :token # Get a group GET :host/auth/v3/partner/:partner/organization/:org/group/:group Content-Type: application/yaml X-Session-Token: :token # Delete a group DELETE :host/auth/v3/partner/:partner/organization/:org/group/:group Content-Type: application/yaml X-Session-Token: :token ## Roles # Create empty role POST :host/auth/v3/partner/:partner/organization/:org/roles Content-Type: application/yaml X-Session-Token: :token metadata: name: :role description: My first role partner: :partner organization: :org spec: isGlobal: true scope: cluster # Create role POST :host/auth/v3/partner/:partner/organization/:org/roles Content-Type: application/yaml X-Session-Token: :token metadata: name: :role description: My first role partner: :partner organization: :org spec: isGlobal: true scope: system rolepermissions: - account.read - ops_star.all # Update role PUT :host/auth/v3/partner/:partner/organization/:org/role/:role Content-Type: application/yaml X-Session-Token: :token metadata: name: :role description: My first role partner: :partner organization: :org spec: isGlobal: true scope: system rolepermissions: - ops_star.all # Get all roles GET :host/auth/v3/partner/:partner/organization/:org/roles Content-Type: application/yaml X-Session-Token: :token # Get a role GET :host/auth/v3/partner/:partner/organization/:org/role/:role Content-Type: application/yaml X-Session-Token: :token # Delete a role DELETE :host/auth/v3/partner/:partner/organization/:org/role/:role Content-Type: application/yaml X-Session-Token: :token ## Rolepermission # Get all rolepermissions GET :host/auth/v3/rolepermissions Content-Type: application/yaml X-Session-Token: :token ## Audit # Audit by project GET :host/event/v1/auditlog?filter.timefrom=now-1h X-Session-Token: :token ## Partner # Create partner POST :host/auth/v3/partner Content-Type: application/yaml X-Session-Token: :token metadata: name: :partner description: "A very important partner" spec: host: "https://important.org" # Get partner GET :host/auth/v3/partner/:partner Content-Type: application/yaml X-Session-Token: :token ## Organization # Create organization POST :host/auth/v3/partner/:partner/organization Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner name: :org description: "Very first organizataion" spec: active: true # Update organization PUT :host/auth/v3/partner/:partner/organization/:org Content-Type: application/yaml X-Session-Token: :token metadata: partner: :partner name: :org description: "Very first organizataion" spec: active: true settings: idleLogoutMin: 30 lockout: enabled: true period_min: 10 attempts: 6 # List organizations GET :host/auth/v3/partner/:partner/organizations Content-Type: application/yaml X-Session-Token: :token # Get organization GET :host/auth/v3/partner/:partner/organization/:org Content-Type: application/yaml X-Session-Token: :token # Create project POST :host/auth/v3/partner/:partner/organization/:org/project Content-Type: application/yaml X-Session-Token: :token metadata: name: :project description: "Very first project" spec: active: true # Get project GET :host/auth/v3/partner/:partner/organization/:org/project/:project Content-Type: application/yaml X-Session-Token: :token # Get all projects GET :host/auth/v3/partner/:partner/organization/:org/projects Content-Type: application/yaml X-Session-Token: :token # Delete project DELETE :host/auth/v3/partner/:partner/organization/:org/project/:project X-Session-Token: :token