utils

package
v3.0.0-...-c7e9b3a Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2020 License: Apache-2.0 Imports: 52 Imported by: 0

Documentation

Index

Constants

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

	KfDefAnnotation = "kfctl.kubeflow.io"
	ForceDelete     = "force-delete"
)

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, elems ...configtypes.NameValue) 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 GetObjectKindFromUri

func GetObjectKindFromUri(configFile string) (string, error)

func GetServiceAccountIamPolicy

func GetServiceAccountIamPolicy(iamService *iam.Service, project string, gsa string) (*iam.Policy, error)

GetServingAccountIamPolicy gets IAM policy for a service account

func IsRemoteFile

func IsRemoteFile(configFile string) (bool, error)

Checks if the path configFile is remote (e.g. http://github...)

func NewDefaultBackoff

func NewDefaultBackoff() *backoff.ExponentialBackOff

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.

func SetServiceAccountIamPolicy

func SetServiceAccountIamPolicy(iamService *iam.Service, policy *iam.Policy, project string, gsa string) error

SetServingAccountIamPolicy sets IAM policy for a service account

func UpdateWorkloadIdentityBindingsPolicy

func UpdateWorkloadIdentityBindingsPolicy(currentPolicy *iam.Policy, project string, namespace string, ksa string) error

UpdateWorkloadIdentityBindingsPolicy updates the (service account) IAM policy with workload identity binding.

Types

type Apply

type Apply struct {
	// contains filtered or unexported fields
}

func NewApply

func NewApply(namespace string, restConfig *rest.Config) (*Apply, error)

func (*Apply) Apply

func (a *Apply) Apply(data []byte) error

func (*Apply) IfNamespaceExist

func (a *Apply) IfNamespaceExist(name string) bool

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