utils

package
v0.0.0-...-9ad3809 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2019 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

View Source
const RecommendedConfigPathEnvVar = "KUBECONFIG"

RecommendedConfigPathEnvVar is a environment variable for path configuration

View Source
const (
	YamlSeparator = "(?m)^---[ \t]*$"
)

Variables

This section is empty.

Functions

func BuildClientCmdAPI

func BuildClientCmdAPI(config *rest.Config, token string) *clientcmdapi.Config

BuildClientCmdAPI takeks k8s config and access token, build and return clientcmdapi.Config entry

func BuildClusterConfig

func BuildClusterConfig(ctx context.Context, token string, project string, zone string,
	clusterID string) (*rest.Config, error)

func BuildConfigFromClusterInfo

func BuildConfigFromClusterInfo(ctx context.Context, cluster *containerpb.Cluster, ts oauth2.TokenSource) (*rest.Config, error)

BuildConfigFromClusterInfo returns k8s config using gcloud Application Default Credentials typically $HOME/.config/gcloud/application_default_credentials.json

func CheckAwsStsCallerIdentity

func CheckAwsStsCallerIdentity(sess *session.Session) error

CheckAwsStsCallerIdentity runs GetCallIdentity to make sure aws credentials is configured correclty

func CheckCommandExist

func CheckCommandExist(commandName string) error

CheckCommandExist check if a command can be found in PATH.

func ClearIamPolicy

func ClearIamPolicy(currentPolicy *cloudresourcemanager.Policy, deployName string, project string)

Modify currentPolicy: Remove existing bindings associated with service accounts of current deployment

func CreateK8sRoleBing

func CreateK8sRoleBing(config *rest.Config, roleBinding *v1.ClusterRoleBinding) error

func CreateKubeconfig

func CreateKubeconfig(ctx context.Context, project string, loc string, cluster string,
	namespace string, ts oauth2.TokenSource) (*clientcmdapi.Config, error)

Create a config that serves as kubeconfig.

func CreateResourceFromFile

func CreateResourceFromFile(config *rest.Config, filename string) error

func DeleteResourceFromFile

func DeleteResourceFromFile(config *rest.Config, filename string) error

func GetClusterInfo

func GetClusterInfo(ctx context.Context, project string, loc string, cluster string, ts oauth2.TokenSource) (*containerpb.Cluster, error)

Use default token source and retrieve cluster information with given project/location/cluster information.

func GetEksctlVersion

func GetEksctlVersion() error

GetEksctlVersion return eksctl version on user's machine

func GetIamPolicy

func GetIamPolicy(project string, gcpClient *http.Client) (*cloudresourcemanager.Policy, error)

Gets IAM plicy from GCP for the whole project.

func PrettyPrint

func PrettyPrint(value interface{}) string

PrettyPrint returns a pretty format output of any value.

func ReadIamBindingsYAML

func ReadIamBindingsYAML(filename string) (*cloudresourcemanager.Policy, error)

Reads IAM bindings file in YAML format.

func RewriteIamPolicy

func RewriteIamPolicy(currentPolicy *cloudresourcemanager.Policy, adding *cloudresourcemanager.Policy)

Either patch or remove role bindings from `src` policy.

func SetIamPolicy

func SetIamPolicy(project string, policy *cloudresourcemanager.Policy, gcpClient *http.Client) error

"Override" project's IAM policy with given config.

Types

type Bindings

type Bindings struct {
	Members Members
	Roles   Roles
}

type IamBindingsYAML

type IamBindingsYAML struct {
	Bindings []Bindings
}

type Members

type Members []string

TODO: Move type definitions to appropriate place.

type Roles

type Roles []string

Jump to

Keyboard shortcuts

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