addon

package
v1.0.15 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2025 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PodIdentityS3BucketPrefix = "podid"
)

Variables

View Source
var ErrPodIdentityBucketNotFound = errors.New("pod identity bucket not found")

Functions

func PodIdentityBucket added in v1.0.4

func PodIdentityBucket(ctx context.Context, client *s3.Client, cluster string) (string, error)

PodIdentityBucket returns the pod identity bucket for the given cluster.

func PodIdentityRole added in v1.0.10

func PodIdentityRole(ctx context.Context, client *iam.Client, cluster string) (string, error)

PodIdentityRole returns the pod identity role ARN for the given cluster.

Types

type Addon

type Addon struct {
	Name                    string
	Namespace               string
	Cluster                 string
	Configuration           string
	Version                 string
	PodIdentityAssociations []PodIdentityAssociation
}

func (Addon) Create

func (a Addon) Create(ctx context.Context, client *eks.Client, logger logr.Logger) error

func (Addon) CreateAndWaitForActive added in v1.0.6

func (a Addon) CreateAndWaitForActive(ctx context.Context, eksClient *eks.Client, k8s clientgo.Interface, logger logr.Logger) error

func (Addon) Delete added in v1.0.6

func (a Addon) Delete(ctx context.Context, client *eks.Client, logger logr.Logger) error

func (Addon) WaitUntilActive added in v1.0.6

func (a Addon) WaitUntilActive(ctx context.Context, client *eks.Client, logger logr.Logger) error

type CertManagerTest added in v1.0.8

type CertManagerTest struct {
	Cluster string

	K8S                                                 clientgo.Interface
	EKSClient                                           *eks.Client
	K8SConfig                                           *rest.Config
	Logger                                              logr.Logger
	CertClient                                          certmanagerclientset.Interface
	PCAIssuer                                           *PCAIssuerTest
	CertName, CertNamespace, CertSecretName, IssuerName string
	// contains filtered or unexported fields
}

CertManagerTest tests the cert-manager addon

func (*CertManagerTest) Create added in v1.0.8

func (c *CertManagerTest) Create(ctx context.Context) error

Create installs the cert-manager addon

func (*CertManagerTest) Delete added in v1.0.8

func (c *CertManagerTest) Delete(ctx context.Context) error

Delete removes the addon and cleans up test resources

func (*CertManagerTest) PrintLogs added in v1.0.8

func (c *CertManagerTest) PrintLogs(ctx context.Context) error

PrintLogs collects and prints logs for debugging

func (*CertManagerTest) Validate added in v1.0.8

func (c *CertManagerTest) Validate(ctx context.Context) error

Validate tests cert-manager functionality by creating and validating a self-signed certificate

type CloudWatchAddon added in v1.0.11

type CloudWatchAddon struct {
	Addon
	PodIdentityRoleArn string
}

func NewCloudWatchAddon added in v1.0.11

func NewCloudWatchAddon(cluster, roleArn string) CloudWatchAddon

NewCloudWatchAddon creates a new CloudWatch Observability addon instance

func (*CloudWatchAddon) SetupCwAddon added in v1.0.15

func (cw *CloudWatchAddon) SetupCwAddon(ctx context.Context, eksClient *eks.Client, k8sClient clientgo.Interface, cwLogsClient *cloudwatchlogs.Client, logger logr.Logger) error

SetupCwAddon handles CloudWatch addon installation and setup

func (CloudWatchAddon) VerifyCloudWatchLogGroups added in v1.0.15

func (cw CloudWatchAddon) VerifyCloudWatchLogGroups(ctx context.Context, cwLogsClient *cloudwatchlogs.Client, logger logr.Logger) error

VerifyCloudWatchLogGroups verifies that CloudWatch log groups exist and have active streams

func (CloudWatchAddon) VerifyCwAddon added in v1.0.15

func (cw CloudWatchAddon) VerifyCwAddon(
	ctx context.Context,
	dynamicClient dynamic.Interface,
	cwLogsClient *cloudwatchlogs.Client,
	logger logr.Logger,
) error

VerifyCwAddon verifies CloudWatch addon functionality including webhook validation and log groups

func (CloudWatchAddon) WaitForComponents added in v1.0.11

func (cw CloudWatchAddon) WaitForComponents(ctx context.Context, k8sClient clientgo.Interface, logger logr.Logger) error

WaitForComponents waits for CloudWatch components to be ready

type ExternalDNSTest added in v1.0.13

type ExternalDNSTest struct {
	Cluster string

	K8S                peeredtypes.K8s
	EKSClient          *eks.Client
	Route53Client      *route53.Client
	K8SConfig          *rest.Config
	Logger             logr.Logger
	PodIdentityRoleArn string
	Region             string
	// contains filtered or unexported fields
}

ExternalDNSTest tests the external-dns addon

func (*ExternalDNSTest) Create added in v1.0.13

func (e *ExternalDNSTest) Create(ctx context.Context) error

Create installs the external-dns addon

func (*ExternalDNSTest) Delete added in v1.0.13

func (e *ExternalDNSTest) Delete(ctx context.Context) error

func (*ExternalDNSTest) Validate added in v1.0.13

func (e *ExternalDNSTest) Validate(ctx context.Context) error

Validate checks if external-dns is working correctly

type FlexibleStringSlice added in v1.0.10

type FlexibleStringSlice []string

FlexibleStringSlice handles JSON unmarshaling for fields that can be either a string or []string

func (*FlexibleStringSlice) UnmarshalJSON added in v1.0.10

func (f *FlexibleStringSlice) UnmarshalJSON(data []byte) error

UnmarshalJSON implements custom unmarshaling to handle both string and []string

type FsxCSIDriverTest added in v1.0.14

type FsxCSIDriverTest struct {
	Cluster string

	K8S                peeredtypes.K8s
	EKSClient          *eks.Client
	K8SConfig          *rest.Config
	Logger             logr.Logger
	PodIdentityRoleArn string
	SubnetID           string
	SecurityGroupID    string
	// contains filtered or unexported fields
}

AWSFSXCSIDriverTest tests the AWS FSX CSI driver addon

func (*FsxCSIDriverTest) Create added in v1.0.14

func (f *FsxCSIDriverTest) Create(ctx context.Context) error

Create installs the AWS FSX CSI driver addon Note: This add-on is not compatible with hybrid nodes yet, so we assume success

func (*FsxCSIDriverTest) Delete added in v1.0.14

func (f *FsxCSIDriverTest) Delete(ctx context.Context) error

func (*FsxCSIDriverTest) Validate added in v1.0.14

func (f *FsxCSIDriverTest) Validate(ctx context.Context) error

Validate checks if AWS FSX CSI driver is working correctly

type KubeStateMetricsTest added in v1.0.7

type KubeStateMetricsTest struct {
	Cluster string

	K8S       clientgo.Interface
	EKSClient *eks.Client
	K8SConfig *rest.Config
	Logger    logr.Logger
	// contains filtered or unexported fields
}

KubeStateMetricsTest tests the kube-state-metrics addon

func (*KubeStateMetricsTest) Create added in v1.0.7

func (k *KubeStateMetricsTest) Create(ctx context.Context) error

Create installs the kube-state-metrics addon

func (*KubeStateMetricsTest) Delete added in v1.0.7

func (k *KubeStateMetricsTest) Delete(ctx context.Context) error

Delete removes the addon

func (*KubeStateMetricsTest) PrintLogs added in v1.0.7

func (k *KubeStateMetricsTest) PrintLogs(ctx context.Context) error

PrintLogs collects and prints logs for debugging

func (*KubeStateMetricsTest) Validate added in v1.0.7

func (k *KubeStateMetricsTest) Validate(ctx context.Context) error

Validate checks if kube-state-metrics is providing metrics

type MetricsServerTest added in v1.0.7

type MetricsServerTest struct {
	Cluster string

	K8S           clientgo.Interface
	EKSClient     *eks.Client
	K8SConfig     *rest.Config
	MetricsClient metricsv1beta1.Interface
	Logger        logr.Logger
	// contains filtered or unexported fields
}

MetricsServerTest tests the metrics-server addon

func (*MetricsServerTest) Create added in v1.0.7

func (m *MetricsServerTest) Create(ctx context.Context) error

Create installs the metrics-server addon

func (*MetricsServerTest) Delete added in v1.0.7

func (m *MetricsServerTest) Delete(ctx context.Context) error

Delete removes the addon

func (*MetricsServerTest) PrintLogs added in v1.0.7

func (m *MetricsServerTest) PrintLogs(ctx context.Context) error

PrintLogs collects and prints logs for debugging

func (*MetricsServerTest) Validate added in v1.0.7

func (m *MetricsServerTest) Validate(ctx context.Context) error

Validate checks if metrics-server is providing metrics

type NodeMonitoringAgentTest added in v1.0.6

type NodeMonitoringAgentTest struct {
	Cluster string

	K8S           clientgo.Interface
	EKSClient     *eks.Client
	K8SConfig     *rest.Config
	Logger        logr.Logger
	Command       string
	CommandRunner commands.RemoteCommandRunner
	NodeFilter    labels.Selector
	// contains filtered or unexported fields
}

func (*NodeMonitoringAgentTest) Create added in v1.0.6

func (*NodeMonitoringAgentTest) Delete added in v1.0.6

func (*NodeMonitoringAgentTest) PrintLogs added in v1.0.6

func (n *NodeMonitoringAgentTest) PrintLogs(ctx context.Context) error

func (*NodeMonitoringAgentTest) Validate added in v1.0.6

func (n *NodeMonitoringAgentTest) Validate(ctx context.Context) error

type NvidiaDevicePluginTest added in v1.0.8

type NvidiaDevicePluginTest struct {
	Cluster       string
	K8S           peeredtypes.K8s
	EKSClient     *eks.Client
	K8SConfig     *rest.Config
	Logger        logr.Logger
	Command       string
	CommandRunner commands.RemoteCommandRunner

	NodeName string
}

func (*NvidiaDevicePluginTest) Create added in v1.0.10

func (*NvidiaDevicePluginTest) Delete added in v1.0.10

func (*NvidiaDevicePluginTest) Validate added in v1.0.10

func (n *NvidiaDevicePluginTest) Validate(ctx context.Context) error

func (*NvidiaDevicePluginTest) WaitForNvidiaDriverReady added in v1.0.8

func (n *NvidiaDevicePluginTest) WaitForNvidiaDriverReady(ctx context.Context) error

WaitForNvidiaDrivers checks if nvidia-smi command succeeds on the node

type PCAIssuerTest added in v1.0.10

type PCAIssuerTest struct {
	Cluster            string
	Namespace          string
	K8S                clientgo.Interface
	EKSClient          *eks.Client
	CertClient         certmanagerclientset.Interface
	K8sPcaClient       awspcaclientset.Interface
	PCAClient          *acmpca.Client
	Region             string
	PCAArn             *string
	PodIdentityRoleArn string
	Logger             logr.Logger
	// contains filtered or unexported fields
}

PCAIssuerTest tests the AWS PCA Issuer functionality as a plugin for cert-manager

func (*PCAIssuerTest) Cleanup added in v1.0.10

func (p *PCAIssuerTest) Cleanup(ctx context.Context) error

Cleanup removes all the AWS PCA Issuer resources

func (*PCAIssuerTest) PrintLogs added in v1.0.10

func (p *PCAIssuerTest) PrintLogs(ctx context.Context) error

PrintLogs collects and prints logs for debugging

func (*PCAIssuerTest) Setup added in v1.0.10

func (p *PCAIssuerTest) Setup(ctx context.Context) error

Setup installs the AWS PCA Issuer add-on

func (*PCAIssuerTest) Validate added in v1.0.10

func (p *PCAIssuerTest) Validate(ctx context.Context) error

Validate tests the AWS PCA Issuer by creating and validating certificates

type PodIdentityAddon added in v1.0.3

type PodIdentityAddon struct {
	Addon
	// contains filtered or unexported fields
}

func NewPodIdentityAddon added in v1.0.3

func NewPodIdentityAddon(cluster, roleArn string) PodIdentityAddon

func (PodIdentityAddon) Create added in v1.0.3

func (p PodIdentityAddon) Create(ctx context.Context, logger logr.Logger, eksClient *eks.Client, k8sClient clientgo.Interface) error

func (PodIdentityAddon) UploadFileForVerification added in v1.0.4

func (p PodIdentityAddon) UploadFileForVerification(ctx context.Context, logger logr.Logger, client *s3.Client, bucket string) error

type PodIdentityAssociation added in v1.0.14

type PodIdentityAssociation struct {
	RoleArn        string
	ServiceAccount string
}

type PolicyDocument added in v1.0.4

type PolicyDocument struct {
	Version   string
	Statement []StatementEntry
}

type PrometheusNodeExporterTest added in v1.0.8

type PrometheusNodeExporterTest struct {
	Cluster string

	K8S       clientgo.Interface
	EKSClient *eks.Client
	K8SConfig *rest.Config
	Logger    logr.Logger
	// contains filtered or unexported fields
}

PrometheusNodeExporterTest tests the Prometheus Node Exporter addon

func (*PrometheusNodeExporterTest) Create added in v1.0.8

Create installs the node exporter addon

func (*PrometheusNodeExporterTest) Delete added in v1.0.8

Delete removes the addon

func (*PrometheusNodeExporterTest) PrintLogs added in v1.0.8

func (p *PrometheusNodeExporterTest) PrintLogs(ctx context.Context) error

PrintLogs collects and prints logs for debugging

func (*PrometheusNodeExporterTest) Validate added in v1.0.8

Validate checks if Prometheus is scraping node exporter metrics

type S3MountpointCSIDriverTest added in v1.0.13

type S3MountpointCSIDriverTest struct {
	Cluster string

	K8S                peeredtypes.K8s
	EKSClient          *eks.Client
	S3Client           *s3.Client
	K8SConfig          *rest.Config
	Logger             logr.Logger
	PodIdentityRoleArn string
	Bucket             string
	// contains filtered or unexported fields
}

S3MountpointCSIDriverTest tests the S3 mountpoint CSI driver addon

func (*S3MountpointCSIDriverTest) Create added in v1.0.13

Create installs the S3 mountpoint CSI driver addon

func (*S3MountpointCSIDriverTest) Delete added in v1.0.13

func (*S3MountpointCSIDriverTest) Validate added in v1.0.13

Validate checks if S3 mountpoint CSI driver is working correctly

type SecretsStoreCSIDriverTest added in v1.0.14

type SecretsStoreCSIDriverTest struct {
	Cluster string

	K8S                  peeredtypes.K8s
	EKSClient            *eks.Client
	SecretsManagerClient *secretsmanager.Client
	K8SConfig            *rest.Config
	Logger               logr.Logger
	PodIdentityRoleArn   string
	Region               string
	// contains filtered or unexported fields
}

SecretsStoreCSIDriverTest tests the Secrets Store CSI driver addon

func (*SecretsStoreCSIDriverTest) Create added in v1.0.14

Create installs the Secrets Store CSI driver addon

func (*SecretsStoreCSIDriverTest) Delete added in v1.0.14

func (*SecretsStoreCSIDriverTest) Validate added in v1.0.14

Validate checks if Secrets Store CSI driver is working correctly

type StatementEntry added in v1.0.4

type StatementEntry struct {
	Effect    string
	Action    FlexibleStringSlice          `json:"Action"`
	Resource  *string                      `json:"Resource,omitempty"`
	Principal map[string]string            `json:"Principal,omitempty"`
	Condition map[string]map[string]string `json:"Condition,omitempty"`
}

type VerifyPodIdentityAddon

type VerifyPodIdentityAddon struct {
	Cluster             string
	NodeName            string
	PodIdentityS3Bucket string
	K8S                 clientgo.Interface
	EKSClient           *eks.Client
	IAMClient           *iam.Client
	S3Client            *s3.Client
	Logger              logr.Logger
	K8SConfig           *rest.Config
	Region              string
}

func (VerifyPodIdentityAddon) Run

Jump to

Keyboard shortcuts

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