v1

package
v0.0.179 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2024 License: Apache-2.0 Imports: 25 Imported by: 4

README



AKS

AZURE_SUBSCRIPTION_ID
AZURE_RESOURCE_GROUP



To specify the identity to use to pull images from ACR: AZURE_PULL_CLIENT_ID=UUID

EKS

KS_CLOUD_REGION


GKE

KS_GKE_PROJECT
KS_CLOUD_REGION


General

KS_CLOUD_PROVIDER
KS_KUBE_CLUSTER

Documentation

Index

Constants

View Source
const (
	TypeCloudProviderDescribe                workloadinterface.ObjectType = "CloudProviderDescribe"
	TypeCloudProviderDescribeRepositories    workloadinterface.ObjectType = "CloudProviderDescribeRepositories"
	TypeCloudProviderListEntitiesForPolicies workloadinterface.ObjectType = "CloudProviderListEntitiesForPolicies"
	TypeCloudProviderPolicyVersion           workloadinterface.ObjectType = "CloudProviderPolicyVersion"
)
View Source
const (
	AKS          string = "aks"
	GKE          string = "gke"
	EKS          string = "eks"
	DigitalOcean string = "digitalocean"
	OpenStack    string = "openstack"

	Oracle string = "oracle"
	IBM    string = "ibm"
)
View Source
const (
	Version         = "v1"
	NotSupportedMsg = "not supported"
)
View Source
const (
	KS_CLOUD_REGION_ENV_VAR = "KS_CLOUD_REGION"
)

Variables

View Source
var (
	AZURE_SUBSCRIPTION_ID_ENV_VAR = "AZURE_SUBSCRIPTION_ID"
	AZURE_RESOURCE_GROUP_ENV_VAR  = "AZURE_RESOURCE_GROUP"
)
View Source
var (
	KS_GKE_PROJECT_ENV_VAR = "KS_GKE_PROJECT"
)

Functions

func GetCloudProvider added in v0.0.141

func GetCloudProvider(nodes *corev1.NodeList) string

GetCloudProvider get cloud provider name from gitVersion/nodes

func GetCloudProviderFromNode added in v0.0.166

func GetCloudProviderFromNode(node *corev1.Node) string

Types

type AKSSupport

type AKSSupport struct {
}

func NewAKSSupport

func NewAKSSupport() *AKSSupport

func (*AKSSupport) GetClusterDescribe

func (AKSSupport *AKSSupport) GetClusterDescribe(subscriptionId string, clusterName string, resourceGroup string) (*armcontainerservice.ManagedCluster, error)

Get descriptive info about cluster running in AKS.

func (*AKSSupport) GetContextName

func (AKSSupport *AKSSupport) GetContextName(managedCluster *armcontainerservice.ManagedCluster) string

func (*AKSSupport) GetGroupIdsRoleBindings added in v0.0.101

func (AKSSupport *AKSSupport) GetGroupIdsRoleBindings(kapi *k8sinterface.KubernetesApi, namespace string) ([]string, error)

Rolebindings contains the group-object-ids

func (*AKSSupport) GetResourceGroup

func (AKSSupport *AKSSupport) GetResourceGroup() (string, error)

func (*AKSSupport) GetSubscriptionID

func (AKSSupport *AKSSupport) GetSubscriptionID() (string, error)

func (*AKSSupport) ListAllRoleDefinitions added in v0.0.116

func (AKSSupport *AKSSupport) ListAllRoleDefinitions(subscriptionId string, scope string) (*ListRoleDefinition, error)

ListAllRoleDefinitions - List all role definitions that are assigned in this scope

func (*AKSSupport) ListAllRolesForScope added in v0.0.92

func (AKSSupport *AKSSupport) ListAllRolesForScope(subscriptionId string, scope string) (*ListRoleAssignment, error)

List all role assignments that apply to a scope scope - The scope of the operation or resource. Valid scopes are: subscriptionID (format: '/subscriptions/{subscriptionId}'), resource group ID (format:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource ID (format:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'

type AKSSupportMock

type AKSSupportMock struct {
}

func NewAKSSupportMock

func NewAKSSupportMock() *AKSSupportMock

func (*AKSSupportMock) GetClusterDescribe

func (AKSSupportM *AKSSupportMock) GetClusterDescribe(subscriptionId string, clusterName string, resourceGroup string) (*armcontainerservice.ManagedCluster, error)

Get descriptive info about cluster running in AKS.

func (*AKSSupportMock) GetContextName

func (AKSSupportM *AKSSupportMock) GetContextName(managedCluster *armcontainerservice.ManagedCluster) string

func (*AKSSupportMock) GetGroupIdsRoleBindings added in v0.0.101

func (AKSSupportM *AKSSupportMock) GetGroupIdsRoleBindings(kapi *k8sinterface.KubernetesApi, namespace string) ([]string, error)

func (*AKSSupportMock) GetResourceGroup

func (AKSSupportM *AKSSupportMock) GetResourceGroup() (string, error)

func (*AKSSupportMock) GetSubscriptionID

func (AKSSupportM *AKSSupportMock) GetSubscriptionID() (string, error)

func (*AKSSupportMock) ListAllRoleDefinitions added in v0.0.116

func (AKSSupportM *AKSSupportMock) ListAllRoleDefinitions(subscriptionId string, scope string) (*ListRoleDefinition, error)

func (*AKSSupportMock) ListAllRolesForScope added in v0.0.92

func (AKSSupportM *AKSSupportMock) ListAllRolesForScope(subscriptionId string, scope string) (*ListRoleAssignment, error)

type CloudProviderDescribe

type CloudProviderDescribe struct {
	ApiVersion string                 `json:"apiVersion"`
	Kind       string                 `json:"kind"`
	Metadata   CloudProviderMetadata  `json:"metadata"`
	Data       map[string]interface{} `json:"data"`
}

CloudProviderDescribe: =========================

CloudProviderDescribe is the desc

func GetClusterDescribeAKS

func GetClusterDescribeAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, resourceGroup string) (*CloudProviderDescribe, error)

Get descriptive info about cluster running in AKS.

func GetClusterDescribeEKS

func GetClusterDescribeEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderDescribe, error)

Get descriptive info about cluster running in EKS.

func GetClusterDescribeGKE

func GetClusterDescribeGKE(gkeSupport IGKESupport, clusterName string, region string, project string) (*CloudProviderDescribe, error)

Get descriptive info about cluster running in GKE.

func NewDescriptiveInfoFromCloudProvider

func NewDescriptiveInfoFromCloudProvider(object map[string]interface{}) *CloudProviderDescribe

NewDescriptiveInfoFromCloudProvider construct a CloudProviderDescribe from map[string]interface{}. If the map does not match the object, will return nil

func (*CloudProviderDescribe) GetApiVersion

func (description *CloudProviderDescribe) GetApiVersion() string

func (*CloudProviderDescribe) GetData

func (description *CloudProviderDescribe) GetData() map[string]interface{}

func (*CloudProviderDescribe) GetID

func (description *CloudProviderDescribe) GetID() string

ApiVersion/Kind/Name

func (*CloudProviderDescribe) GetKind

func (description *CloudProviderDescribe) GetKind() string

func (*CloudProviderDescribe) GetName

func (description *CloudProviderDescribe) GetName() string

func (*CloudProviderDescribe) GetNamespace

func (description *CloudProviderDescribe) GetNamespace() string

Compatible with the IMetadata interface

func (*CloudProviderDescribe) GetObject

func (description *CloudProviderDescribe) GetObject() map[string]interface{}

func (*CloudProviderDescribe) GetObjectType

func (description *CloudProviderDescribe) GetObjectType() workloadinterface.ObjectType

func (*CloudProviderDescribe) GetProvider

func (description *CloudProviderDescribe) GetProvider() string

provider -> eks/gke/etc.

func (*CloudProviderDescribe) GetWorkload

func (description *CloudProviderDescribe) GetWorkload() map[string]interface{}

func (*CloudProviderDescribe) SetApiVersion

func (description *CloudProviderDescribe) SetApiVersion(apiVersion string)

func (*CloudProviderDescribe) SetData

func (description *CloudProviderDescribe) SetData(data map[string]interface{})

func (*CloudProviderDescribe) SetKind

func (description *CloudProviderDescribe) SetKind(kind string)

func (*CloudProviderDescribe) SetName

func (description *CloudProviderDescribe) SetName(name string)

func (*CloudProviderDescribe) SetNamespace

func (description *CloudProviderDescribe) SetNamespace(namespace string)

========================================================================================================== ============================== CloudProviderDescribe ================================================== ========================================================================================================== Setters

func (*CloudProviderDescribe) SetObject

func (description *CloudProviderDescribe) SetObject(object map[string]interface{})

func (*CloudProviderDescribe) SetProvider

func (description *CloudProviderDescribe) SetProvider(provider string)

func (*CloudProviderDescribe) SetWorkload

func (description *CloudProviderDescribe) SetWorkload(object map[string]interface{})

type CloudProviderDescribeRepositories added in v0.0.95

type CloudProviderDescribeRepositories struct {
	ApiVersion string                 `json:"apiVersion"`
	Kind       string                 `json:"kind"`
	Metadata   CloudProviderMetadata  `json:"metadata"`
	Data       map[string]interface{} `json:"data"`
}

CloudProviderDescribeRepositories: =========================

CloudProviderDescribeRepositories has a list of the image repositories in the cloud provider

func GetDescribeRepositoriesEKS added in v0.0.95

func GetDescribeRepositoriesEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderDescribeRepositories, error)

func (*CloudProviderDescribeRepositories) GetApiVersion added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetApiVersion() string

func (*CloudProviderDescribeRepositories) GetData added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetData() map[string]interface{}

func (*CloudProviderDescribeRepositories) GetID added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetID() string

ApiVersion/Kind/Name

func (*CloudProviderDescribeRepositories) GetKind added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetKind() string

func (*CloudProviderDescribeRepositories) GetName added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetName() string

func (*CloudProviderDescribeRepositories) GetNamespace added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetNamespace() string

Compatible with the IMetadata interface

func (*CloudProviderDescribeRepositories) GetObject added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetObject() map[string]interface{}

func (*CloudProviderDescribeRepositories) GetObjectType added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetObjectType() workloadinterface.ObjectType

func (*CloudProviderDescribeRepositories) GetProvider added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetProvider() string

provider -> eks/gke/etc.

func (*CloudProviderDescribeRepositories) GetWorkload added in v0.0.95

func (description *CloudProviderDescribeRepositories) GetWorkload() map[string]interface{}

func (*CloudProviderDescribeRepositories) SetApiVersion added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetApiVersion(apiVersion string)

func (*CloudProviderDescribeRepositories) SetData added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetData(data map[string]interface{})

func (*CloudProviderDescribeRepositories) SetKind added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetKind(kind string)

func (*CloudProviderDescribeRepositories) SetName added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetName(name string)

func (*CloudProviderDescribeRepositories) SetNamespace added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetNamespace(namespace string)

========================================================================================================== ============================== CloudProviderDescribeRepositories ================================================== ========================================================================================================== Setters

func (*CloudProviderDescribeRepositories) SetObject added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetObject(object map[string]interface{})

func (*CloudProviderDescribeRepositories) SetProvider added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetProvider(provider string)

func (*CloudProviderDescribeRepositories) SetWorkload added in v0.0.95

func (description *CloudProviderDescribeRepositories) SetWorkload(object map[string]interface{})

type CloudProviderListEntitiesForPolicies added in v0.0.97

type CloudProviderListEntitiesForPolicies struct {
	ApiVersion string                 `json:"apiVersion"`
	Kind       string                 `json:"kind"`
	Metadata   CloudProviderMetadata  `json:"metadata"`
	Data       map[string]interface{} `json:"data"`
}

CloudProviderListEntitiesForPolicies: =========================

CloudProviderListEntitiesForPolicies has a list of the RolePolicies in the cloud provider (EKS)

func GetListEntitiesForPoliciesAKS added in v0.0.116

func GetListEntitiesForPoliciesAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, resourceGroup string) (*CloudProviderListEntitiesForPolicies, error)

GetListEntitiesForPoliciesAKS gets a list of entities for policies (role assignments)

func GetListEntitiesForPoliciesEKS added in v0.0.97

func GetListEntitiesForPoliciesEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderListEntitiesForPolicies, error)

func (*CloudProviderListEntitiesForPolicies) GetApiVersion added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetApiVersion() string

func (*CloudProviderListEntitiesForPolicies) GetData added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetData() map[string]interface{}

func (*CloudProviderListEntitiesForPolicies) GetID added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetID() string

ApiVersion/Kind/Name

func (*CloudProviderListEntitiesForPolicies) GetKind added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetKind() string

func (*CloudProviderListEntitiesForPolicies) GetName added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetName() string

func (*CloudProviderListEntitiesForPolicies) GetNamespace added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetNamespace() string

Compatible with the IMetadata interface

func (*CloudProviderListEntitiesForPolicies) GetObject added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetObject() map[string]interface{}

func (*CloudProviderListEntitiesForPolicies) GetObjectType added in v0.0.97

func (*CloudProviderListEntitiesForPolicies) GetProvider added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetProvider() string

provider -> eks/gke/etc.

func (*CloudProviderListEntitiesForPolicies) GetWorkload added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) GetWorkload() map[string]interface{}

func (*CloudProviderListEntitiesForPolicies) SetApiVersion added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetApiVersion(apiVersion string)

func (*CloudProviderListEntitiesForPolicies) SetData added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetData(data map[string]interface{})

func (*CloudProviderListEntitiesForPolicies) SetKind added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetKind(kind string)

func (*CloudProviderListEntitiesForPolicies) SetName added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetName(name string)

func (*CloudProviderListEntitiesForPolicies) SetNamespace added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetNamespace(namespace string)

========================================================================================================== ============================== CloudProviderListEntitiesForPolicies ================================================== ========================================================================================================== Setters

func (*CloudProviderListEntitiesForPolicies) SetObject added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetObject(object map[string]interface{})

func (*CloudProviderListEntitiesForPolicies) SetProvider added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetProvider(provider string)

func (*CloudProviderListEntitiesForPolicies) SetWorkload added in v0.0.97

func (description *CloudProviderListEntitiesForPolicies) SetWorkload(object map[string]interface{})

type CloudProviderMetadata

type CloudProviderMetadata struct {
	Name     string `json:"name"`
	Provider string `json:"provider"`
}

CloudProviderMetadata: ===================== Metadata of a cloud provider object. This object may be any configuration object supported by the cloud provider

Name: Object name Provider: CloudProvider name eks/gke/etc.

func (*CloudProviderMetadata) GetName

func (cloudProviderMetadata *CloudProviderMetadata) GetName() string

getters

func (*CloudProviderMetadata) GetProvider

func (cloudProviderMetadata *CloudProviderMetadata) GetProvider() string

func (*CloudProviderMetadata) SetName

func (cloudProviderMetadata *CloudProviderMetadata) SetName(name string)

setters

func (*CloudProviderMetadata) SetProvider

func (cloudProviderMetadata *CloudProviderMetadata) SetProvider(provider string)

type CloudProviderPolicyVersion added in v0.0.103

type CloudProviderPolicyVersion struct {
	ApiVersion string                 `json:"apiVersion"`
	Kind       string                 `json:"kind"`
	Metadata   CloudProviderMetadata  `json:"metadata"`
	Data       map[string]interface{} `json:"data"`
}

CloudProviderPolicyVersion: =========================

CloudProviderPolicyVersion has a list of the PolicyVersion in the cloud provider (EKS)

func GetPolicyVersionAKS added in v0.0.116

func GetPolicyVersionAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, resourceGroup string) (*CloudProviderPolicyVersion, error)

GetPolicyVersionAKS returns a list of all the role definitions that are assigned in this scope.

func GetPolicyVersionEKS added in v0.0.103

func GetPolicyVersionEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderPolicyVersion, error)

func (*CloudProviderPolicyVersion) GetApiVersion added in v0.0.103

func (description *CloudProviderPolicyVersion) GetApiVersion() string

func (*CloudProviderPolicyVersion) GetData added in v0.0.103

func (description *CloudProviderPolicyVersion) GetData() map[string]interface{}

func (*CloudProviderPolicyVersion) GetID added in v0.0.103

func (description *CloudProviderPolicyVersion) GetID() string

ApiVersion/Kind/Name

func (*CloudProviderPolicyVersion) GetKind added in v0.0.103

func (description *CloudProviderPolicyVersion) GetKind() string

func (*CloudProviderPolicyVersion) GetName added in v0.0.103

func (description *CloudProviderPolicyVersion) GetName() string

func (*CloudProviderPolicyVersion) GetNamespace added in v0.0.103

func (description *CloudProviderPolicyVersion) GetNamespace() string

Compatible with the IMetadata interface

func (*CloudProviderPolicyVersion) GetObject added in v0.0.103

func (description *CloudProviderPolicyVersion) GetObject() map[string]interface{}

func (*CloudProviderPolicyVersion) GetObjectType added in v0.0.103

func (description *CloudProviderPolicyVersion) GetObjectType() workloadinterface.ObjectType

func (*CloudProviderPolicyVersion) GetProvider added in v0.0.103

func (description *CloudProviderPolicyVersion) GetProvider() string

provider -> eks/gke/etc.

func (*CloudProviderPolicyVersion) GetWorkload added in v0.0.103

func (description *CloudProviderPolicyVersion) GetWorkload() map[string]interface{}

func (*CloudProviderPolicyVersion) SetApiVersion added in v0.0.103

func (description *CloudProviderPolicyVersion) SetApiVersion(apiVersion string)

func (*CloudProviderPolicyVersion) SetData added in v0.0.103

func (description *CloudProviderPolicyVersion) SetData(data map[string]interface{})

func (*CloudProviderPolicyVersion) SetKind added in v0.0.103

func (description *CloudProviderPolicyVersion) SetKind(kind string)

func (*CloudProviderPolicyVersion) SetName added in v0.0.103

func (description *CloudProviderPolicyVersion) SetName(name string)

func (*CloudProviderPolicyVersion) SetNamespace added in v0.0.103

func (description *CloudProviderPolicyVersion) SetNamespace(namespace string)

========================================================================================================== ============================== CloudProviderPolicyVersion ================================================== ========================================================================================================== Setters

func (*CloudProviderPolicyVersion) SetObject added in v0.0.103

func (description *CloudProviderPolicyVersion) SetObject(object map[string]interface{})

func (*CloudProviderPolicyVersion) SetProvider added in v0.0.103

func (description *CloudProviderPolicyVersion) SetProvider(provider string)

func (*CloudProviderPolicyVersion) SetWorkload added in v0.0.103

func (description *CloudProviderPolicyVersion) SetWorkload(object map[string]interface{})

type EKSSupport

type EKSSupport struct {
}

func NewEKSSupport

func NewEKSSupport() *EKSSupport

NewEKSSupport returns EKSSupport type

func (*EKSSupport) GetClusterDescribe

func (eksSupport *EKSSupport) GetClusterDescribe(cluster string, region string) (*eks.DescribeClusterOutput, error)

GetClusterDescribe returns the descriptive info about the cluster running in EKS.

func (*EKSSupport) GetContextName

func (eksSupport *EKSSupport) GetContextName(cluster string) string

Context can be in one of 3 ways: 1. arn:aws:eks:<region>:<id>:cluster/<cluster_name> --> Usually this will be in context 2. arn:aws:eks:<region>:<id>:cluster-<cluster_name> --> Usually we will get 'cluster' param like this 3. <cluster_name> --> Context name is the cluster name

func (*EKSSupport) GetDescribeRepositories added in v0.0.95

func (eksSupport *EKSSupport) GetDescribeRepositories(region string) (*ecr.DescribeRepositoriesOutput, error)

GetDescribeRepositories returns the descriptive info about the repositories in EKS.

func (*EKSSupport) GetEKSCfgMap added in v0.0.87

func (EKSSupport *EKSSupport) GetEKSCfgMap(kapi *k8sinterface.KubernetesApi, namespace string) (*v1.ConfigMap, error)

GetEKSCfgMap returns the ConfigMap containing mappings of iam-roles/groups or iam-users/groups

func (*EKSSupport) GetListEntitiesForPolicies added in v0.0.97

func (eksSupport *EKSSupport) GetListEntitiesForPolicies(region string) (*ListEntitiesForPolicies, error)

GetListEntitiesForPolicies returns the list of roles in EKS.

func (*EKSSupport) GetName

func (eksSupport *EKSSupport) GetName(describe *eks.DescribeClusterOutput) string

GetName returns the name of the eks cluster

func (*EKSSupport) GetPolicyVersion added in v0.0.103

func (eksSupport *EKSSupport) GetPolicyVersion(region string) (*ListPolicyVersion, error)

GetPolicyVersion retrieves policy contents based on their default version. It returns a struct that contains a map where the key is the policy Arn, and the value is its content.

func (*EKSSupport) GetRegion

func (eksSupport *EKSSupport) GetRegion(cluster string) (string, error)

GetRegion returns the region in which eks cluster is running.

type EKSSupportMock

type EKSSupportMock struct {
}

func NewEKSSupportMock

func NewEKSSupportMock() *EKSSupportMock

func (*EKSSupportMock) GetClusterDescribe

func (eksSupportM *EKSSupportMock) GetClusterDescribe(currContext string, region string) (*eks.DescribeClusterOutput, error)

Get descriptive info about cluster running in EKS.

func (*EKSSupportMock) GetContextName

func (eksSupport *EKSSupportMock) GetContextName(cluster string) string

func (*EKSSupportMock) GetDescribeRepositories added in v0.0.95

func (eksSupportM *EKSSupportMock) GetDescribeRepositories(region string) (*ecr.DescribeRepositoriesOutput, error)

GetDescribeRepositories

func (*EKSSupportMock) GetListEntitiesForPolicies added in v0.0.97

func (eksSupportM *EKSSupportMock) GetListEntitiesForPolicies(region string) (*ListEntitiesForPolicies, error)

GetListEntitiesForPolicies

func (*EKSSupportMock) GetName

func (eksSupportM *EKSSupportMock) GetName(describe *eks.DescribeClusterOutput) string

getName get cluster name from describe

func (*EKSSupportMock) GetPolicyVersion added in v0.0.103

func (eksSupportM *EKSSupportMock) GetPolicyVersion(region string) (*ListPolicyVersion, error)

GetPolicyVersion

func (*EKSSupportMock) GetRegion

func (eksSupportM *EKSSupportMock) GetRegion(cluster string) (string, error)

type GKESupport

type GKESupport struct {
}

func NewGKESupport

func NewGKESupport() *GKESupport

func (*GKESupport) GetAuthorizationKey

func (gkeSupport *GKESupport) GetAuthorizationKey() (string, error)

func (*GKESupport) GetClusterDescribe

func (gkeSupport *GKESupport) GetClusterDescribe(cluster string, region string, project string) (*containerpb.Cluster, error)

Get descriptive info about cluster running in GKE.

func (*GKESupport) GetContextName

func (gkeSupport *GKESupport) GetContextName(cluster string) string

func (*GKESupport) GetName

func (gkeSupport *GKESupport) GetName(clusterDescribe *containerpb.Cluster) string

func (*GKESupport) GetProject

func (gkeSupport *GKESupport) GetProject(cluster string) (string, error)

func (*GKESupport) GetRegion

func (gkeSupport *GKESupport) GetRegion(cluster string) (string, error)

type GKESupportMock

type GKESupportMock struct {
}

func NewGKESupportMock

func NewGKESupportMock() *GKESupportMock

func (*GKESupportMock) GetClusterDescribe

func (gkeSupportM *GKESupportMock) GetClusterDescribe(cluster string, region string, project string) (*containerpb.Cluster, error)

Get descriptive info about cluster running in GKE.

func (*GKESupportMock) GetContextName

func (gkeSupportM *GKESupportMock) GetContextName(cluster string) string

func (*GKESupportMock) GetName

func (gkeSupportM *GKESupportMock) GetName(clusterDescribe *containerpb.Cluster) string

func (*GKESupportMock) GetProject

func (gkeSupportM *GKESupportMock) GetProject(cluster string) (string, error)

func (*GKESupportMock) GetRegion

func (gkeSupportM *GKESupportMock) GetRegion(cluster string) (string, error)

type IAKSSupport

type IAKSSupport interface {
	GetClusterDescribe(subscriptionId string, clusterName string, resourceGroup string) (*armcontainerservice.ManagedCluster, error)
	GetContextName(*armcontainerservice.ManagedCluster) string
	GetSubscriptionID() (string, error)
	GetResourceGroup() (string, error)
	ListAllRolesForScope(subscriptionId string, scope string) (*ListRoleAssignment, error)
	GetGroupIdsRoleBindings(kapi *k8sinterface.KubernetesApi, namespace string) ([]string, error)
	ListAllRoleDefinitions(subscriptionId string, scope string) (*ListRoleDefinition, error)
}

type IEKSSupport

type IEKSSupport interface {
	GetClusterDescribe(currContext string, region string) (*eks.DescribeClusterOutput, error)
	GetName(*eks.DescribeClusterOutput) string
	GetRegion(cluster string) (string, error)
	GetContextName(cluster string) string
	GetDescribeRepositories(region string) (*ecr.DescribeRepositoriesOutput, error)
	GetListEntitiesForPolicies(region string) (*ListEntitiesForPolicies, error)
	GetPolicyVersion(region string) (*ListPolicyVersion, error)
}

type IGKESupport

type IGKESupport interface {
	GetClusterDescribe(cluster string, region string, project string) (*containerpb.Cluster, error)
	GetName(clusterDescribe *containerpb.Cluster) string
	GetProject(cluster string) (string, error)
	GetRegion(cluster string) (string, error)
	GetContextName(cluster string) string
}

type ListEntitiesForPolicies added in v0.0.97

type ListEntitiesForPolicies struct {
	EntitiesForPolicies map[string]*iam.ListEntitiesForPolicyOutput `json:"rolesPolicies"`
}

type ListPolicyVersion added in v0.0.103

type ListPolicyVersion struct {
	PolicyVersion map[string]*PolicyVersionDocument `json:"policiesDocuments"`
}

type ListRoleAssignment added in v0.0.116

type ListRoleAssignment struct {
	RoleAssignments []*armauthorizationv2.RoleAssignment `json:"roleAssignments"`
}

type ListRoleDefinition added in v0.0.116

type ListRoleDefinition struct {
	RoleDefinitions []*armauthorization.RoleDefinition `json:"roleDefinitions"`
}

type PolicyVersionDocument added in v0.0.103

type PolicyVersionDocument struct {
	Version   string      `json:"Version"`
	Statement []Statement `json:"Statement"`
}

type Statement added in v0.0.103

type Statement struct {
	Effect   string   `json:"Effect"`
	Action   []string `json:"Action"`
	Resource string   `json:"Resource"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL