aws

package
v3.0.0-...-b53bbfd Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2021 License: Apache-2.0 Imports: 38 Imported by: 1

Documentation

Index

Constants

View Source
const (
	KUBEFLOW_AWS_INFRA_DIR = "aws_config"
	KUBEFLOW_MANIFEST_DIR  = "kustomize"
	CLUSTER_CONFIG_FILE    = "cluster_config.yaml"
	PATH                   = "path"
	BASIC_AUTH_SECRET      = "kubeflow-login"
	// Path in manifests repo to where the additional configs are located
	CONFIG_LOCAL_PATH = "aws/infra_configs"

	ALB_OIDC_SECRET = "alb-oidc-secret"

	// Namespace for istio
	IstioNamespace = "istio-system"

	// Plugin parameter constants
	AwsPluginName = kfconfig.AWS_PLUGIN_KIND

	MINIMUM_EKSCTL_VERSION = "0.1.32"

	KUBEFLOW_ADMIN_ROLE_NAME = "kf-admin-%v-%v"
	KUBEFLOW_USER_ROLE_NAME  = "kf-user-%v-%v"
)
View Source
const (
	AWS_DEFAULT_AUDIENCE               = "sts.amazonaws.com"
	AWS_TRUST_IDENTITY_SUBJECT         = "system:serviceaccount:%s:%s"
	AWS_SERVICE_ACCOUNT_ANNOTATION_KEY = "eks.amazonaws.com/role-arn"
	AWS_IAM_ROLE_TAG_KEY               = "kubeflow/cluster-name"
	AWS_IAM_ROLE_ARN                   = "arn:aws:iam::%s:role/%s"
)

Variables

This section is empty.

Functions

func GetPlatform

func GetPlatform(kfdef *kfconfig.KfConfig) (kftypes.Platform, error)

GetKfApp returns the aws kfapp. It's called by coordinator.GetKfApp

Types

type Aws

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

Aws implements KfApp Interface It includes the KsApp along with additional Aws types

func (*Aws) Apply

func (aws *Aws) Apply(resources kftypes.ResourceEnum) error

Apply create eks cluster if needed, bind IAM policy to node group roles and enable cluster level configs. Remind: Need to be thread-safe: this entry is share among kfctl and deploy app

func (*Aws) Delete

func (aws *Aws) Delete(resources kftypes.ResourceEnum) error

func (*Aws) DeleteIdentityProvider

func (aws *Aws) DeleteIdentityProvider(providerArn string) error

DeleteIdentityProvider will delete the identity provider, it may return an error the API call fails

func (*Aws) Dump

func (aws *Aws) Dump(resources kftypes.ResourceEnum) error

func (*Aws) Generate

func (aws *Aws) Generate(resources kftypes.ResourceEnum) error

Generate generate aws infrastructure configs and aws kfapp manifest Remind: Need to be thread-safe: this entry is share among kfctl and deploy app

func (*Aws) GetPluginSpec

func (aws *Aws) GetPluginSpec() (*awsplugin.AwsPluginSpec, error)

GetPluginSpec gets the plugin spec.

func (*Aws) Init

func (aws *Aws) Init(resources kftypes.ResourceEnum) error

Init initializes aws kfapp - platform

func (*Aws) IsEksCluster

func (aws *Aws) IsEksCluster(clusterName string) (bool, error)

IsEksCluster checks if an AWS cluster is EKS cluster.

type Cluster

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

type MapOfInterfaces

type MapOfInterfaces = map[string]interface{}

MapOfInterfaces is an alias for map[string]interface{}

func MakeAssumeRoleWithWebIdentityPolicyDocument

func MakeAssumeRoleWithWebIdentityPolicyDocument(providerARN string, condition MapOfInterfaces) MapOfInterfaces

MakeAssumeRoleWithWebIdentityPolicyDocument constructs a trust policy statement for given web identity provider with given conditions

func MakePolicyDocument

func MakePolicyDocument(statements ...MapOfInterfaces) MapOfInterfaces

MakePolicyDocument constructs a policy document with given statements

Jump to

Keyboard shortcuts

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