provider

package
v0.12.13 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2025 License: MIT Imports: 58 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PreflightCheckEnabledServices           = PreflightCheck("[User] Enabled Services")
	PreflightCheckServiceAccountPermissions = PreflightCheck("[User] Test Permissions")
)
View Source
const (
	ZoneLabel = "topology.gke.io/zone"
)

Variables

This section is empty.

Functions

func GetAWSCallerIdentity added in v0.12.12

func GetAWSCallerIdentity(ctx context.Context) (string, error)

GetAWSCallerIdentity returns the IAM role ARN of the current caller identity.

func GetAwsAccount

func GetAwsAccount(ctx context.Context) (string, error)

func GetAzureAccount

func GetAzureAccount() (string, string, error)

func GetGcpManagedZones added in v0.12.11

func GetGcpManagedZones(project, dnsName string) ([]string, error)

func RoleNameSessionFromARN added in v0.12.12

func RoleNameSessionFromARN(rawARN string) (string, string)

RoleNameSessionFromARN returns the role and session names in an ARN if any. Otherwise, it returns empty strings.

func SetCloudFlag added in v0.9.14

func SetCloudFlag(cloud bool)

func SetClusterFlag added in v0.9.25

func SetClusterFlag(cluster string)

func ValidateAWSDomainRegistration added in v0.12.12

func ValidateAWSDomainRegistration(ctx context.Context, domain, region string) error

func ValidateAzureDomainRegistration added in v0.12.12

func ValidateAzureDomainRegistration(ctx context.Context, domain, resourceGroup string) error

Types

type AWSProvider

type AWSProvider struct {
	Clus string `survey:"cluster"`

	Reg string `survey:"region"`
	// contains filtered or unexported fields
}

func (*AWSProvider) Bucket

func (aws *AWSProvider) Bucket() string

func (*AWSProvider) Cluster

func (aws *AWSProvider) Cluster() string

func (*AWSProvider) Context

func (aws *AWSProvider) Context() map[string]interface{}

func (*AWSProvider) CreateBucket added in v0.8.3

func (aws *AWSProvider) CreateBucket() error

func (*AWSProvider) Decommision

func (prov *AWSProvider) Decommision(node *v1.Node) error

func (*AWSProvider) Flush

func (aws *AWSProvider) Flush() error

func (*AWSProvider) KubeConfig

func (aws *AWSProvider) KubeConfig() error

func (*AWSProvider) KubeContext

func (aws *AWSProvider) KubeContext() string

func (*AWSProvider) Name

func (aws *AWSProvider) Name() string

func (*AWSProvider) Permissions

func (prov *AWSProvider) Permissions() (permissions.Checker, error)

func (*AWSProvider) Preflights

func (aws *AWSProvider) Preflights() []*Preflight

func (*AWSProvider) Project

func (aws *AWSProvider) Project() string

func (*AWSProvider) Region

func (aws *AWSProvider) Region() string

type AzureProvider

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

func AzureFromManifest

func AzureFromManifest(man *manifest.ProjectManifest, clientSet *ClientSet) (*AzureProvider, error)

func (*AzureProvider) Bucket

func (az *AzureProvider) Bucket() string

func (*AzureProvider) Cluster

func (az *AzureProvider) Cluster() string

func (*AzureProvider) Context

func (az *AzureProvider) Context() map[string]interface{}

func (*AzureProvider) CreateBucket

func (az *AzureProvider) CreateBucket() error

func (*AzureProvider) CreateResourceGroup

func (az *AzureProvider) CreateResourceGroup(resourceGroup string) error

func (*AzureProvider) Decommision

func (az *AzureProvider) Decommision(node *v1.Node) error

func (*AzureProvider) Flush

func (az *AzureProvider) Flush() error

func (*AzureProvider) KubeConfig

func (az *AzureProvider) KubeConfig() error

func (*AzureProvider) KubeContext

func (az *AzureProvider) KubeContext() string

func (*AzureProvider) Name

func (az *AzureProvider) Name() string

func (*AzureProvider) Permissions

func (*AzureProvider) Permissions() (permissions.Checker, error)

func (*AzureProvider) Preflights

func (az *AzureProvider) Preflights() []*Preflight

func (*AzureProvider) Project

func (az *AzureProvider) Project() string

func (*AzureProvider) Region

func (az *AzureProvider) Region() string

type BucketLocation

type BucketLocation string
const (
	BucketLocationUS   BucketLocation = "US"
	BucketLocationEU   BucketLocation = "EU"
	BucketLocationASIA BucketLocation = "ASIA"
)

type ClientSet

type ClientSet struct {
	Subscriptions SubscriptionClient
	Groups        ResourceGroupClient
	Accounts      AccountsClient
	Containers    ContainerClient
	Zones         ZonesClient
}

func GetClientSet

func GetClientSet(subscriptionId string) (*ClientSet, error)

type ContainerClient

type ContainerClient interface {
	GetProperties(ctx context.Context, ac azblob.LeaseAccessConditions) (*azblob.ContainerGetPropertiesResponse, error)
	Create(ctx context.Context, metadata azblob.Metadata, publicAccessType azblob.PublicAccessType) (*azblob.ContainerCreateResponse, error)
}

type GCPProvider

type GCPProvider struct {
	Clust string `survey:"cluster"`
	Proj  string `survey:"project"`

	Reg string `survey:"region"`
	// contains filtered or unexported fields
}

func (*GCPProvider) Bucket

func (gcp *GCPProvider) Bucket() string

func (*GCPProvider) Cluster

func (gcp *GCPProvider) Cluster() string

func (*GCPProvider) Context

func (gcp *GCPProvider) Context() map[string]interface{}

func (*GCPProvider) CreateBucket added in v0.8.3

func (gcp *GCPProvider) CreateBucket() error

func (*GCPProvider) Decommision

func (gcp *GCPProvider) Decommision(node *v1.Node) error

func (*GCPProvider) Flush

func (gcp *GCPProvider) Flush() error

func (*GCPProvider) KubeConfig

func (gcp *GCPProvider) KubeConfig() error

func (*GCPProvider) KubeContext

func (gcp *GCPProvider) KubeContext() string

func (*GCPProvider) Name

func (gcp *GCPProvider) Name() string

func (*GCPProvider) Permissions

func (gcp *GCPProvider) Permissions() (permissions.Checker, error)

func (*GCPProvider) Preflights

func (gcp *GCPProvider) Preflights() []*Preflight

func (*GCPProvider) Project

func (gcp *GCPProvider) Project() string

func (*GCPProvider) Region

func (gcp *GCPProvider) Region() string

type Preflight

type Preflight struct {
	Name     string
	Callback func() error
}

func (*Preflight) Validate

func (pf *Preflight) Validate() error

type PreflightCheck

type PreflightCheck string

type Provider

type Provider interface {
	Name() string
	Cluster() string
	Project() string
	Region() string
	Bucket() string
	KubeConfig() error
	KubeContext() string
	CreateBucket() error
	Context() map[string]interface{}
	Preflights() []*Preflight
	Permissions() (permissions.Checker, error)
	Flush() error
}

func FromManifest

func FromManifest(man *manifest.ProjectManifest) (Provider, error)

func GetProvider

func GetProvider() (Provider, error)

func New

func New(provider string) (Provider, error)

type Providers

type Providers struct {
	AvailableProviders []string
	Scaffolds          map[string]string
}

type ResourceGroupClient

ResourceGroupClient is the subset of functions we need from armresources.VirtualResourceGroupsClient; this interface is purely here for allowing unit tests.

type SubscriptionClient added in v0.12.3

type SubscriptionClient interface {
	NewListLocationsPager(subscriptionID string, options *armsubscription.SubscriptionsClientListLocationsOptions) *runtime.Pager[armsubscription.SubscriptionsClientListLocationsResponse]
}

type TestProvider

type TestProvider struct {
	Clust string `survey:"cluster"`
	Proj  string

	Reg string
	// contains filtered or unexported fields
}

func (TestProvider) Bucket

func (t TestProvider) Bucket() string

func (TestProvider) Cluster

func (t TestProvider) Cluster() string

func (TestProvider) Context

func (t TestProvider) Context() map[string]interface{}

func (TestProvider) CreateBucket added in v0.8.3

func (t TestProvider) CreateBucket() error

func (TestProvider) Decommision

func (t TestProvider) Decommision(_ *corev1.Node) error

func (TestProvider) Flush

func (t TestProvider) Flush() error

func (TestProvider) KubeConfig

func (t TestProvider) KubeConfig() error

func (TestProvider) KubeContext

func (t TestProvider) KubeContext() string

func (TestProvider) Name

func (t TestProvider) Name() string

func (TestProvider) Permissions

func (t TestProvider) Permissions() (permissions.Checker, error)

func (TestProvider) Preflights

func (t TestProvider) Preflights() []*Preflight

func (TestProvider) Project

func (t TestProvider) Project() string

func (TestProvider) Region

func (t TestProvider) Region() string

type ZonesClient added in v0.12.12

type ZonesClient interface {
	NewListByResourceGroupPager(resourceGroupName string, options *armdns.ZonesClientListByResourceGroupOptions) *runtime.Pager[armdns.ZonesClientListByResourceGroupResponse]
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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