cloud

package
v0.0.0-...-b568cb8 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2025 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OldFlowSupportRole  = "role/RH-Technical-Support-Access"
	CustomerRoleArnName = "Target-Role-Arn"
	OrgRoleArnName      = "Org-Role-Arn"
)
View Source
const EnvBrowserDefault = "BACKPLANE_DEFAULT_OPEN_BROWSER"

EnvBrowserDefault environment variable that indicates if open by browser is set as default

Variables

View Source
var (
	CreateClientSet       func(*rest.Config) (kubernetes.Interface, error)       = createClientSet
	GetInstanceID         func(node string, config *rest.Config) (string, error) = getInstanceID
	StartSSMsession       func(cmd *cobra.Command, argv []string) error          = startSSMsession
	ExecCommand           func(name string, arg ...string) *exec.Cmd             = exec.Command
	NewFromConfig         func(cfg aws.Config) SSMClient                         = NewFromConfigVar
	GetCurrentKubeconfig  func() (*rest.Config, error)                           = getCurrentKubeconfig
	FetchCloudCredentials func() (*bpCredentials.AWSCredentialsResponse, error)  = fetchCloudCredentials
)
View Source
var AssumeRoleSequence = awsutil.AssumeRoleSequence
View Source
var AssumeRoleWithJWT = awsutil.AssumeRoleWithJWT
View Source
var CloudCmd = &cobra.Command{
	Use:               "cloud",
	Short:             "Cluster cloud provider access",
	Args:              cobra.NoArgs,
	DisableAutoGenTag: true,
	Run:               help,
}
View Source
var ConsoleCmd = &cobra.Command{
	Use:   "console [CLUSTERID|EXTERNAL_ID|CLUSTER_NAME|CLUSTER_NAME_SEARCH]",
	Short: "Requests a link to cluster's cloud provider's console",
	Long: `Requests a link that utilizes temporary cloud credentials for the cluster's cloud provider's web console.
	This allows us to be able to perform operations such as debugging an issue, troubleshooting a customer
	misconfiguration, or directly access the underlying cloud infrastructure. If no cluster identifier is provided, the
	currently logged in cluster will be used.`,
	Example:      " backplane cloud console\n backplane cloud console <id>\n backplane cloud console %test%\n backplane cloud console <external_id>",
	Args:         cobra.RangeArgs(0, 1),
	Aliases:      []string{"link", "web"},
	RunE:         runConsole,
	SilenceUsage: true,
}

ConsoleCmd represents the cloud credentials command

View Source
var CredentialsCmd = &cobra.Command{
	Use:   "credentials [CLUSTERID|EXTERNAL_ID|CLUSTER_NAME|CLUSTER_NAME_SEARCH]",
	Short: "Requests a set of temporary cloud credentials for the cluster's cloud provider",
	Long: `Requests a set of temporary cloud credentials for the cluster's cloud provider. This allows us to be able to
	perform operations such as debugging an issue, troubleshooting a customer misconfiguration, or directly access the
	underlying cloud infrastructure. If no cluster identifier is provided, the currently logged in cluster will be used.`,
	Example:      " backplane cloud credentials\n backplane cloud credentials <id>\n backplane cloud credentials %test%\n backplane cloud credentials <external_id>",
	Args:         cobra.RangeArgs(0, 1),
	Aliases:      []string{"creds", "cred"},
	RunE:         runCredentials,
	SilenceUsage: true,
}

CredentialsCmd represents the cloud credentials command

View Source
var GetBackplaneClusterFromConfig = utils.DefaultClusterUtils.GetBackplaneClusterFromConfig
View Source
var GetBackplaneConfiguration = bpconfig.GetBackplaneConfiguration
View Source
var NewStaticCredentialsProvider = credentials.NewStaticCredentialsProvider
View Source
var SSMSessionCmd = &cobra.Command{
	Use:   "ssm",
	Short: "Start an AWS SSM session for a node",
	Long:  "Start an AWS SSM session for the specified node provided to debug.",
	Args:  cobra.ExactArgs(0),
	RunE:  startSSMsession,
}
View Source
var StsClient = awsutil.StsClient

Functions

This section is empty.

Types

type ConsoleResponse

type ConsoleResponse struct {
	ConsoleLink string `json:"ConsoleLink" yaml:"ConsoleLink"`
}

func (*ConsoleResponse) String

func (r *ConsoleResponse) String() string

type QueryConfig

type QueryConfig struct {
	config.BackplaneConfiguration
	OcmConnection *ocmsdk.Connection
	Cluster       *cmv1.Cluster
}

QueryConfig Wrapper for the configuration needed for cloud requests

func (*QueryConfig) GetAWSV2Config

func (cfg *QueryConfig) GetAWSV2Config() (aws.Config, error)

GetAWSV2Config allows consumers to get an aws-sdk-go-v2 Config to programmatically access the AWS API

func (*QueryConfig) GetCloudConsole

func (cfg *QueryConfig) GetCloudConsole() (*ConsoleResponse, error)

GetCloudConsole returns Cloud Credentials Response

func (*QueryConfig) GetCloudCredentials

func (cfg *QueryConfig) GetCloudCredentials() (bpCredentials.Response, error)

GetCloudCredentials returns Cloud Credentials Response

type SSMClient

type SSMClient interface {
	StartSession(ctx context.Context, params *ssm.StartSessionInput, optFns ...func(*ssm.Options)) (*ssm.StartSessionOutput, error)
}

Define SSMClient interface

func NewFromConfigVar

func NewFromConfigVar(cfg aws.Config) SSMClient

Jump to

Keyboard shortcuts

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