aws

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package aws implements providers.CloudProvider against AWS using aws-sdk-go-v2 and in-cluster identity (EKS Pod Identity / IRSA, resolved by the SDK's default credential chain). All calls are read-only: CloudTrail LookupEvents (the AWS "what changed" lens) and EC2/ASG/EKS describes (resource health).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client is the AWS cloud provider.

func New

func New(ctx context.Context, region, clusterName string) (*Client, error)

New builds a Client from the default AWS credential chain (Pod Identity / IRSA / env / profile). region may be empty (resolved from the environment/IMDS).

func (*Client) CloudChanges

func (c *Client) CloudChanges(ctx context.Context, sel providers.Selector, w providers.TimeWindow) ([]providers.Change, error)

CloudChanges returns recent MUTATING AWS control-plane events (CloudTrail LookupEvents) in the window, normalized to the engine-agnostic Change model so they join the same "what changed" timeline as GitOps diffs. When the selector carries a Name, it scopes the lookup to that resource.

Note: CloudTrail is eventually consistent (~15 min), so a too-narrow window can miss a just-made change — callers should use a generous lookback.

func (*Client) ResourceHealth

ResourceHealth returns cloud-side state/health for resources backing the selector: EKS nodegroup status (cluster-scoped), ASG recent scaling activities, and — when the selector names an EC2 instance (i-…) — its instance status. Best-effort: a failing sub-query contributes an error line, not a hard failure, so partial cloud visibility still helps.

Jump to

Keyboard shortcuts

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