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: 35 Imported by: 0

Documentation

Index

Constants

View Source
const RecommendedConfigPathEnvVar = "KUBECONFIG"

RecommendedConfigPathEnvVar is a environment variable for path configuration

Variables

This section is empty.

Functions

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 ClearIamPolicy

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

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

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

CreateResourceFromFile creates resources from a file, just like `kubectl create -f filename` We use some libraries in an old way (e.g. the RestMapper is in discovery instead of restmapper) because ksonnet (one of our dependency) is using the old library version. TODO: it can't handle "kind: list" yet.

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 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