Documentation
¶
Index ¶
- Constants
- Variables
- func GetCloudProvider(nodes *corev1.NodeList) string
- func GetCloudProviderFromNode(node *corev1.Node) string
- type AKSSupport
- func (AKSSupport *AKSSupport) GetClusterDescribe(subscriptionId string, clusterName string, resourceGroup string) (*armcontainerservice.ManagedCluster, error)
- func (AKSSupport *AKSSupport) GetContextName(managedCluster *armcontainerservice.ManagedCluster) string
- func (AKSSupport *AKSSupport) GetDescribeRepositories(subscriptionId string) ([]*armcontainerregistry.Registry, error)
- func (AKSSupport *AKSSupport) GetGroupIdsRoleBindings(kapi *k8sinterface.KubernetesApi, namespace string) ([]string, error)
- func (AKSSupport *AKSSupport) GetResourceGroup() (string, error)
- func (AKSSupport *AKSSupport) GetSubscriptionID() (string, error)
- func (AKSSupport *AKSSupport) ListAllRoleDefinitions(subscriptionId string, scope string) (*ListRoleDefinition, error)
- func (AKSSupport *AKSSupport) ListAllRolesForScope(subscriptionId string, scope string) (*ListRoleAssignment, error)
- type AKSSupportMock
- func (AKSSupportM *AKSSupportMock) GetClusterDescribe(subscriptionId string, clusterName string, resourceGroup string) (*armcontainerservice.ManagedCluster, error)
- func (AKSSupportM *AKSSupportMock) GetContextName(managedCluster *armcontainerservice.ManagedCluster) string
- func (AKSSupportM *AKSSupportMock) GetDescribeRepositories(subscriptionId string) ([]*armcontainerregistry.Registry, error)
- func (AKSSupportM *AKSSupportMock) GetGroupIdsRoleBindings(kapi *k8sinterface.KubernetesApi, namespace string) ([]string, error)
- func (AKSSupportM *AKSSupportMock) GetResourceGroup() (string, error)
- func (AKSSupportM *AKSSupportMock) GetSubscriptionID() (string, error)
- func (AKSSupportM *AKSSupportMock) ListAllRoleDefinitions(subscriptionId string, scope string) (*ListRoleDefinition, error)
- func (AKSSupportM *AKSSupportMock) ListAllRolesForScope(subscriptionId string, scope string) (*ListRoleAssignment, error)
- type CloudProviderDescribe
- func GetClusterDescribeAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, ...) (*CloudProviderDescribe, error)
- func GetClusterDescribeEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderDescribe, error)
- func GetClusterDescribeGKE(gkeSupport IGKESupport, clusterName string, region string, project string) (*CloudProviderDescribe, error)
- func NewDescriptiveInfoFromCloudProvider(object map[string]interface{}) *CloudProviderDescribe
- func (description *CloudProviderDescribe) GetApiVersion() string
- func (description *CloudProviderDescribe) GetData() map[string]interface{}
- func (description *CloudProviderDescribe) GetID() string
- func (description *CloudProviderDescribe) GetKind() string
- func (description *CloudProviderDescribe) GetName() string
- func (description *CloudProviderDescribe) GetNamespace() string
- func (description *CloudProviderDescribe) GetObject() map[string]interface{}
- func (description *CloudProviderDescribe) GetObjectType() workloadinterface.ObjectType
- func (description *CloudProviderDescribe) GetProvider() string
- func (description *CloudProviderDescribe) GetWorkload() map[string]interface{}
- func (description *CloudProviderDescribe) SetApiVersion(apiVersion string)
- func (description *CloudProviderDescribe) SetData(data map[string]interface{})
- func (description *CloudProviderDescribe) SetKind(kind string)
- func (description *CloudProviderDescribe) SetName(name string)
- func (description *CloudProviderDescribe) SetNamespace(namespace string)
- func (description *CloudProviderDescribe) SetObject(object map[string]interface{})
- func (description *CloudProviderDescribe) SetProvider(provider string)
- func (description *CloudProviderDescribe) SetWorkload(object map[string]interface{})
- type CloudProviderDescribeRepositories
- func GetDescribeRepositoriesAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, ...) (*CloudProviderDescribeRepositories, error)
- func GetDescribeRepositoriesEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderDescribeRepositories, error)
- func GetDescribeRepositoriesGKE(gkeSupport IGKESupport, cluster string, project string, region string) (*CloudProviderDescribeRepositories, error)
- func (description *CloudProviderDescribeRepositories) GetApiVersion() string
- func (description *CloudProviderDescribeRepositories) GetData() map[string]interface{}
- func (description *CloudProviderDescribeRepositories) GetID() string
- func (description *CloudProviderDescribeRepositories) GetKind() string
- func (description *CloudProviderDescribeRepositories) GetName() string
- func (description *CloudProviderDescribeRepositories) GetNamespace() string
- func (description *CloudProviderDescribeRepositories) GetObject() map[string]interface{}
- func (description *CloudProviderDescribeRepositories) GetObjectType() workloadinterface.ObjectType
- func (description *CloudProviderDescribeRepositories) GetProvider() string
- func (description *CloudProviderDescribeRepositories) GetWorkload() map[string]interface{}
- func (description *CloudProviderDescribeRepositories) SetApiVersion(apiVersion string)
- func (description *CloudProviderDescribeRepositories) SetData(data map[string]interface{})
- func (description *CloudProviderDescribeRepositories) SetKind(kind string)
- func (description *CloudProviderDescribeRepositories) SetName(name string)
- func (description *CloudProviderDescribeRepositories) SetNamespace(namespace string)
- func (description *CloudProviderDescribeRepositories) SetObject(object map[string]interface{})
- func (description *CloudProviderDescribeRepositories) SetProvider(provider string)
- func (description *CloudProviderDescribeRepositories) SetWorkload(object map[string]interface{})
- type CloudProviderListEntitiesForPolicies
- func GetListEntitiesForPoliciesAKS(aksSupport IAKSSupport, cluster string, subscriptionId string, ...) (*CloudProviderListEntitiesForPolicies, error)
- func GetListEntitiesForPoliciesEKS(eksSupport IEKSSupport, cluster string, region string) (*CloudProviderListEntitiesForPolicies, error)
- func GetListEntitiesForPoliciesGKE(gkeSupport IGKESupport, cluster string, project string, region string) (*CloudProviderListEntitiesForPolicies, error)
- func (description *CloudProviderListEntitiesForPolicies) GetApiVersion() string
- func (description *CloudProviderListEntitiesForPolicies) GetData() map[string]interface{}
- func (description *CloudProviderListEntitiesForPolicies) GetID() string
- func (description *CloudProviderListEntitiesForPolicies) GetKind() string
- func (description *CloudProviderListEntitiesForPolicies) GetName() string
- func (description *CloudProviderListEntitiesForPolicies) GetNamespace() string
- func (description *CloudProviderListEntitiesForPolicies) GetObject() map[string]interface{}
- func (description *CloudProviderListEntitiesForPolicies) GetObjectType() workloadinterface.ObjectType
- func (description *CloudProviderListEntitiesForPolicies) GetProvider() string
- func (description *CloudProviderListEntitiesForPolicies) GetWorkload() map[string]interface{}
- func (description *CloudProviderListEntitiesForPolicies) SetApiVersion(apiVersion string)
- func (description *CloudProviderListEntitiesForPolicies) SetData(data map[string]interface{})
- func (description *CloudProviderListEntitiesForPolicies) SetKind(kind string)
- func (description *CloudProviderListEntitiesForPolicies) SetName(name string)
- func (description *CloudProviderListEntitiesForPolicies) SetNamespace(namespace string)
- func (description *CloudProviderListEntitiesForPolicies) SetObject(object map[string]interface{})
- func (description *CloudProviderListEntitiesForPolicies) SetProvider(provider string)
- func (description *CloudProviderListEntitiesForPolicies) SetWorkload(object map[string]interface{})
- type CloudProviderMetadata
- type CloudProviderPolicyVersion
- func (description *CloudProviderPolicyVersion) GetApiVersion() string
- func (description *CloudProviderPolicyVersion) GetData() map[string]interface{}
- func (description *CloudProviderPolicyVersion) GetID() string
- func (description *CloudProviderPolicyVersion) GetKind() string
- func (description *CloudProviderPolicyVersion) GetName() string
- func (description *CloudProviderPolicyVersion) GetNamespace() string
- func (description *CloudProviderPolicyVersion) GetObject() map[string]interface{}
- func (description *CloudProviderPolicyVersion) GetObjectType() workloadinterface.ObjectType
- func (description *CloudProviderPolicyVersion) GetProvider() string
- func (description *CloudProviderPolicyVersion) GetWorkload() map[string]interface{}
- func (description *CloudProviderPolicyVersion) SetApiVersion(apiVersion string)
- func (description *CloudProviderPolicyVersion) SetData(data map[string]interface{})
- func (description *CloudProviderPolicyVersion) SetKind(kind string)
- func (description *CloudProviderPolicyVersion) SetName(name string)
- func (description *CloudProviderPolicyVersion) SetNamespace(namespace string)
- func (description *CloudProviderPolicyVersion) SetObject(object map[string]interface{})
- func (description *CloudProviderPolicyVersion) SetProvider(provider string)
- func (description *CloudProviderPolicyVersion) SetWorkload(object map[string]interface{})
- type EKSSupport
- func (eksSupport *EKSSupport) GetClusterDescribe(cluster string, region string) (*eks.DescribeClusterOutput, error)
- func (eksSupport *EKSSupport) GetContextName(cluster string) string
- func (eksSupport *EKSSupport) GetDescribeRepositories(region string) (*ecr.DescribeRepositoriesOutput, error)
- func (EKSSupport *EKSSupport) GetEKSCfgMap(kapi *k8sinterface.KubernetesApi, namespace string) (*v1.ConfigMap, error)
- func (eksSupport *EKSSupport) GetListEntitiesForPolicies(region string) (*ListEntitiesForPolicies, error)
- func (eksSupport *EKSSupport) GetName(describe *eks.DescribeClusterOutput) string
- func (eksSupport *EKSSupport) GetPolicyVersion(region string) (*ListPolicyVersion, error)
- func (eksSupport *EKSSupport) GetRegion(cluster string) (string, error)
- type EKSSupportMock
- func (eksSupportM *EKSSupportMock) GetClusterDescribe(currContext string, region string) (*eks.DescribeClusterOutput, error)
- func (eksSupport *EKSSupportMock) GetContextName(cluster string) string
- func (eksSupportM *EKSSupportMock) GetDescribeRepositories(region string) (*ecr.DescribeRepositoriesOutput, error)
- func (eksSupportM *EKSSupportMock) GetListEntitiesForPolicies(region string) (*ListEntitiesForPolicies, error)
- func (eksSupportM *EKSSupportMock) GetName(describe *eks.DescribeClusterOutput) string
- func (eksSupportM *EKSSupportMock) GetPolicyVersion(region string) (*ListPolicyVersion, error)
- func (eksSupportM *EKSSupportMock) GetRegion(cluster string) (string, error)
- type GKESupport
- func (gkeSupport *GKESupport) GetAuthorizationKey() (string, error)
- func (gkeSupport *GKESupport) GetClusterDescribe(cluster string, region string, project string) (*containerpb.Cluster, error)
- func (gkeSupport *GKESupport) GetContextName(cluster string) string
- func (gkeSupport *GKESupport) GetDescribeRepositories(project string, region string) ([]*artifactregistrypb.Repository, error)
- func (gkeSupport *GKESupport) GetIAMMappings(project string) (map[string]string, map[string]string, error)
- func (gkeSupport *GKESupport) GetListEntitiesForPolicies(project string) (*cloudresourcemanager.Policy, error)
- func (gkeSupport *GKESupport) GetName(clusterDescribe *containerpb.Cluster) string
- func (gkeSupport *GKESupport) GetProject(cluster string) (string, error)
- func (gkeSupport *GKESupport) GetRegion(cluster string) (string, error)
- type GKESupportMock
- func (gkeSupportM *GKESupportMock) GetClusterDescribe(cluster string, region string, project string) (*containerpb.Cluster, error)
- func (gkeSupportM *GKESupportMock) GetContextName(cluster string) string
- func (gkeSupportM *GKESupportMock) GetDescribeRepositories(project string, region string) ([]*artifactregistrypb.Repository, error)
- func (gkeSupportM *GKESupportMock) GetIAMMappings(project string) (map[string]string, map[string]string, error)
- func (gkeSupportM *GKESupportMock) GetListEntitiesForPolicies(project string) (*cloudresourcemanager.Policy, error)
- func (gkeSupportM *GKESupportMock) GetName(clusterDescribe *containerpb.Cluster) string
- func (gkeSupportM *GKESupportMock) GetProject(cluster string) (string, error)
- func (gkeSupportM *GKESupportMock) GetRegion(cluster string) (string, error)
- type IAKSSupport
- type IEKSSupport
- type IGKESupport
- type ListEntitiesForPolicies
- type ListPolicyVersion
- type ListRoleAssignment
- type ListRoleDefinition
- type PolicyVersionDocument
- type Statement
Constants ¶
const ( TypeCloudProviderDescribe workloadinterface.ObjectType = "CloudProviderDescribe" TypeCloudProviderDescribeRepositories workloadinterface.ObjectType = "CloudProviderDescribeRepositories" TypeCloudProviderListEntitiesForPolicies workloadinterface.ObjectType = "CloudProviderListEntitiesForPolicies" TypeCloudProviderPolicyVersion workloadinterface.ObjectType = "CloudProviderPolicyVersion" )
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" )
const ( Version = "v1" NotSupportedMsg = "not supported" )
const (
KS_CLOUD_REGION_ENV_VAR = "KS_CLOUD_REGION"
)
Variables ¶
var ( AZURE_SUBSCRIPTION_ID_ENV_VAR = "AZURE_SUBSCRIPTION_ID" AZURE_RESOURCE_GROUP_ENV_VAR = "AZURE_RESOURCE_GROUP" )
var (
KS_GKE_PROJECT_ENV_VAR = "KS_GKE_PROJECT"
)
Functions ¶
func GetCloudProvider ¶ added in v0.0.141
GetCloudProvider get cloud provider name from gitVersion/nodes
func GetCloudProviderFromNode ¶ added in v0.0.166
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 (description *CloudProviderListEntitiesForPolicies) GetObjectType() workloadinterface.ObjectType
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 ¶
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)
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
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
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 (*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)
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"`
}