v1

package
v0.0.218 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2026 License: Apache-2.0 Imports: 36 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"
	Linode string = "linode"
)
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) GetDescribeRepositories added in v0.0.215

func (AKSSupport *AKSSupport) GetDescribeRepositories(subscriptionId string) ([]*armcontainerregistry.Registry, error)

GetDescribeRepositories returns a list of Azure Container Registries in the subscription

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) GetDescribeRepositories added in v0.0.215

func (AKSSupportM *AKSSupportMock) GetDescribeRepositories(subscriptionId string) ([]*armcontainerregistry.Registry, error)

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. For EKS, the Data field contains the unmarshaled 'ecr.DescribeRepositoriesOutput' at its root. For GKE and AKS, since the SDKs return an array instead of a wrapper struct, the list is wrapped in a "registries" key to ensure the JSON root is an object.

func GetDescribeRepositoriesAKS added in v0.0.215

func GetDescribeRepositoriesAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, resourceGroup string) (*CloudProviderDescribeRepositories, error)

func GetDescribeRepositoriesEKS added in v0.0.95

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

GetDescribeRepositoriesEKS wraps the EKS describe repositories result into the standard CloudProviderDescribeRepositories format

func GetDescribeRepositoriesGKE added in v0.0.215

func GetDescribeRepositoriesGKE(gkeSupport IGKESupport, cluster string, project 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. For EKS, the Data field contains the unmarshaled struct at its root. For GKE, the "rolesPolicies" key holds a single IAM policy object. For AKS, it wraps the role assignment objects to maintain consistency with the expected JSON object root.

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)

GetListEntitiesForPoliciesEKS wraps the EKS list entities for policies result into the standard CloudProviderListEntitiesForPolicies format

func GetListEntitiesForPoliciesGKE added in v0.0.215

func GetListEntitiesForPoliciesGKE(gkeSupport IGKESupport, cluster string, project 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)

GetPolicyVersionEKS wraps the EKS list policy version result into the standard CloudProviderPolicyVersion format

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

func (*EKSSupport) GetClusterDescribe

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

func (*EKSSupport) GetContextName

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

func (*EKSSupport) GetDescribeRepositories added in v0.0.95

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

func (*EKSSupport) GetEKSCfgMap added in v0.0.87

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

func (*EKSSupport) GetListEntitiesForPolicies added in v0.0.97

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

func (*EKSSupport) GetName

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

func (*EKSSupport) GetPolicyVersion added in v0.0.103

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

func (*EKSSupport) GetRegion

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

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)

GetAuthorizationKey retrieves the GCP access token

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

GetContextName extracts the context name from the cluster string

func (*GKESupport) GetDescribeRepositories added in v0.0.215

func (gkeSupport *GKESupport) GetDescribeRepositories(project string, region string) ([]*artifactregistrypb.Repository, error)

GetDescribeRepositories returns a list of GCP Artifact Registries in the given project and region

func (*GKESupport) GetIAMMappings added in v0.0.186

func (gkeSupport *GKESupport) GetIAMMappings(project string) (map[string]string, map[string]string, error)

GetIAMMappings returns iam-roles and service accounts

func (*GKESupport) GetListEntitiesForPolicies added in v0.0.215

func (gkeSupport *GKESupport) GetListEntitiesForPolicies(project string) (*cloudresourcemanager.Policy, error)

GetListEntitiesForPolicies returns a list of IAM role bindings in the given project

func (*GKESupport) GetName

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

GetName returns the name of the GKE cluster

func (*GKESupport) GetProject

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

GetProject extracts the GCP project from the cluster string or environment variable

func (*GKESupport) GetRegion

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

GetRegion extracts the GCP region from the cluster string or environment variable

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) GetDescribeRepositories added in v0.0.215

func (gkeSupportM *GKESupportMock) GetDescribeRepositories(project string, region string) ([]*artifactregistrypb.Repository, error)

func (*GKESupportMock) GetIAMMappings added in v0.0.186

func (gkeSupportM *GKESupportMock) GetIAMMappings(project string) (map[string]string, map[string]string, error)

func (*GKESupportMock) GetListEntitiesForPolicies added in v0.0.215

func (gkeSupportM *GKESupportMock) GetListEntitiesForPolicies(project string) (*cloudresourcemanager.Policy, error)

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)
	GetDescribeRepositories(subscriptionId string) ([]*armcontainerregistry.Registry, 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
	GetDescribeRepositories(project string, region string) ([]*artifactregistrypb.Repository, error)
	GetListEntitiesForPolicies(project string) (*cloudresourcemanager.Policy, error)
	GetIAMMappings(project string) (map[string]string, map[string]string, error)
}

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