dashboard

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 150 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

Types

type AWSSDKProvider

type AWSSDKProvider interface {
	GetDynamoDBHandler() service.Registerable
	GetS3Handler() service.Registerable
	GetSSMHandler() service.Registerable
	GetIAMHandler() service.Registerable
	GetSTSHandler() service.Registerable
	GetSNSHandler() service.Registerable
	GetSQSHandler() service.Registerable
	GetKMSHandler() service.Registerable
	GetSecretsManagerHandler() service.Registerable
	GetLambdaHandler() service.Registerable
	GetEventBridgeHandler() service.Registerable
	GetAPIGatewayHandler() service.Registerable
	GetCloudWatchLogsHandler() service.Registerable
	GetStepFunctionsHandler() service.Registerable
	GetCloudWatchHandler() service.Registerable
	GetCloudFormationHandler() service.Registerable
	GetKinesisHandler() service.Registerable
	GetElastiCacheHandler() service.Registerable
	GetRoute53Handler() service.Registerable
	GetSESHandler() service.Registerable
	GetSESv2Handler() service.Registerable
	GetEC2Handler() service.Registerable
	GetECRHandler() service.Registerable
	GetECSHandler() service.Registerable
	GetEFSHandler() service.Registerable
	GetEKSHandler() service.Registerable
	GetIoTHandler() service.Registerable
	GetAPIGatewayManagementAPIHandler() service.Registerable
	GetAppConfigDataHandler() service.Registerable
	GetAmplifyHandler() service.Registerable
	GetAPIGatewayV2Handler() service.Registerable
	GetAppConfigHandler() service.Registerable
	GetAthenaHandler() service.Registerable
	GetAutoscalingHandler() service.Registerable
	GetBackupHandler() service.Registerable
	GetCloudTrailHandler() service.Registerable
}

AWSSDKProvider defines an interface for providing access to AWS service handlers and clients. This is used by the dashboard provider to discover and link service backends.

type AthenaSettings

type AthenaSettings struct {
	JanitorInterval time.Duration
	ExecutionTTL    time.Duration
}

AthenaSettings holds dashboard-specific Athena configuration.

type BackupSettings

type BackupSettings struct {
	JanitorInterval time.Duration
	JobTTL          time.Duration
}

BackupSettings holds dashboard-specific Backup configuration.

type BatchSettings

type BatchSettings struct {
	JanitorInterval   time.Duration
	InactiveJobDefTTL time.Duration
	CompletedJobTTL   time.Duration
}

BatchSettings holds dashboard-specific Batch configuration.

type CloudWatchLogsSettings

type CloudWatchLogsSettings struct {
	JanitorInterval  time.Duration
	MaxRetentionDays int
}

CloudWatchLogsSettings holds dashboard-specific CloudWatch Logs configuration.

type CodeBuildSettings

type CodeBuildSettings struct {
	JanitorInterval time.Duration
	BuildTTL        time.Duration
}

CodeBuildSettings holds dashboard-specific CodeBuild configuration.

type Config

type Config struct {
	DDBClient *dynamodb.Client
	S3Client  *s3.Client
	SSMClient *ssmsdk.Client
	DDBOps    *ddbbackend.DynamoDBHandler
	S3Ops     *s3backend.S3Handler
	SSMOps    *ssmbackend.Handler
	IAMOps    *iambackend.Handler
	STSOps    *stsbackend.Handler
	SNSOps    *snsbackend.Handler
	SQSOps    *sqsbackend.Handler
	// KMSOps provides access to the KMS backend.
	KMSOps *kmsbackend.Handler
	// SecretsManagerOps provides access to the Secrets Manager backend.
	SecretsManagerOps *secretsmanagerbackend.Handler
	// LambdaOps provides access to the Lambda backend.
	LambdaOps *lambdabackend.Handler
	// EventBridgeOps provides access to the EventBridge backend.
	EventBridgeOps *ebbackend.Handler
	// APIGatewayOps provides access to the API Gateway backend.
	APIGatewayOps *apigwbackend.Handler
	// CloudWatchLogsOps provides access to the CloudWatch Logs backend.
	CloudWatchLogsOps *cwlogsbackend.Handler
	// StepFunctionsOps provides access to the Step Functions backend.
	StepFunctionsOps *sfnbackend.Handler
	// CloudWatchOps provides access to the CloudWatch Metrics backend.
	CloudWatchOps *cwbackend.Handler
	// CloudFormationOps provides access to the CloudFormation backend.
	CloudFormationOps *cfnbackend.Handler
	// KinesisOps provides access to the Kinesis backend.
	KinesisOps *kinesisbackend.Handler
	// ElastiCacheOps provides access to the ElastiCache backend.
	ElastiCacheOps *elasticachebackend.Handler
	// Route53Ops provides access to the Route 53 backend.
	Route53Ops *route53backend.Handler
	// SESOps provides access to the SES backend.
	SESOps *sesbackend.Handler
	// SESv2Ops provides access to the SES v2 backend.
	SESv2Ops *sesv2backend.Handler
	// EC2Ops provides access to the EC2 backend.
	EC2Ops *ec2backend.Handler
	// ECROps provides access to the ECR backend.
	ECROps *ecrbackend.Handler
	// ECSOps provides access to the ECS backend.
	ECSOps *ecsbackend.Handler
	// EFSOps provides access to the EFS backend.
	EFSOps *efsbackend.Handler
	// IoTOps provides access to the IoT backend.
	IoTOps *iotbackend.Handler
	// FISOps provides access to the FIS backend.
	FISOps *fisbackend.Handler
	// GlueOps provides access to the Glue backend.
	GlueOps *gluebackend.Handler
	// IdentityStoreOps provides access to the Identity Store backend.
	IdentityStoreOps *identitystorebackend.Handler
	// OpenSearchOps provides access to the OpenSearch backend.
	OpenSearchOps *opensearchbackend.Handler
	// ACMOps provides access to the ACM backend.
	ACMOps *acmbackend.Handler
	// ACMPCAOps provides access to the ACM PCA backend.
	ACMPCAOps *acmpcabackend.Handler
	// RedshiftOps provides access to the Redshift backend.
	RedshiftOps *redshiftbackend.Handler
	// RDSOps provides access to the RDS backend.
	RDSOps *rdsbackend.Handler
	// DocDBOps provides access to the DocDB backend.
	DocDBOps     *docdbbackend.Handler
	AWSConfigOps *awsconfigbackend.Handler
	// S3ControlOps provides access to the S3 Control backend.
	S3ControlOps *s3controlbackend.Handler
	// ResourceGroupsOps provides access to the Resource Groups backend.
	ResourceGroupsOps *resourcegroupsbackend.Handler
	// ResourceGroupsTaggingOps provides access to the Resource Groups Tagging API backend.
	ResourceGroupsTaggingOps *taggingbackend.Handler
	// SWFOps provides access to the SWF backend.
	SWFOps *swfbackend.Handler
	// FirehoseOps provides access to the Firehose backend.
	FirehoseOps *firehosebackend.Handler
	// SchedulerOps provides access to the EventBridge Scheduler backend.
	SchedulerOps *schedulerbackend.Handler
	// Route53ResolverOps provides access to the Route53 Resolver backend.
	Route53ResolverOps *route53resolverbackend.Handler
	// TranscribeOps provides access to the Transcribe backend.
	TranscribeOps *transcribebackend.Handler
	// SupportOps provides access to the Support backend.
	SupportOps *supportbackend.Handler
	// CognitoIdentityOps provides access to the Cognito Identity backend.
	CognitoIdentityOps *cognitoidentitybackend.Handler
	// AppSyncOps provides access to the AppSync backend.
	AppSyncOps *appsyncbackend.Handler
	// CognitoIDPOps provides access to the Cognito IDP backend.
	CognitoIDPOps *cognitoidpbackend.Handler
	// IoTDataPlaneOps provides access to the IoT Data Plane backend.
	IoTDataPlaneOps *iotdataplanebackend.Handler
	// APIGatewayManagementAPIOps provides access to the API Gateway Management API backend.
	APIGatewayManagementAPIOps *apigwmgmtbackend.Handler
	// APIGatewayV2Ops provides access to the API Gateway V2 backend.
	APIGatewayV2Ops *apigwv2backend.Handler
	// AppConfigDataOps provides access to the AppConfigData backend.
	AppConfigDataOps *appconfigdatabackend.Handler
	// AmplifyOps provides access to the Amplify backend.
	AmplifyOps *amplifybackend.Handler
	// AthenaOps provides access to the Athena backend.
	AthenaOps *athenabackend.Handler
	// AutoscalingOps provides access to the Autoscaling backend.
	AutoscalingOps *autoscalingbackend.Handler
	// BackupOps provides access to the Backup backend.
	BackupOps *backupbackend.Handler
	// CloudTrailOps provides access to the CloudTrail backend.
	CloudTrailOps *cloudtrailbackend.Handler
	// AppConfigOps provides access to the AppConfig backend.
	AppConfigOps *appconfigbackend.Handler
	// ApplicationAutoscalingOps provides access to the Application Auto Scaling backend.
	ApplicationAutoscalingOps *applicationautoscalingbackend.Handler
	// BatchOps provides access to the Batch backend.
	BatchOps *batchbackend.Handler
	// BedrockOps provides access to the Bedrock backend.
	BedrockOps *bedrockbackend.Handler
	// BedrockRuntimeOps provides access to the Bedrock Runtime backend.
	BedrockRuntimeOps *bedrockruntimebackend.Handler
	// CeOps provides access to the Cost Explorer backend.
	CeOps *cebackend.Handler
	// CloudControlOps provides access to the CloudControl backend.
	CloudControlOps *cloudcontrolbackend.Handler
	// CloudFrontOps provides access to the CloudFront backend.
	CloudFrontOps *cloudfrontbackend.Handler
	// CodeArtifactOps provides access to the CodeArtifact backend.
	CodeArtifactOps *codeartifactbackend.Handler
	// CodeBuildOps provides access to the CodeBuild backend.
	CodeBuildOps *codebuildbackend.Handler
	// CodeCommitOps provides access to the CodeCommit backend.
	CodeCommitOps *codecommitbackend.Handler
	// CodePipelineOps provides access to the CodePipeline backend.
	CodePipelineOps *codepipelinebackend.Handler
	// CodeConnectionsOps provides access to the CodeConnections backend.
	CodeConnectionsOps *codeconnectionsbackend.Handler
	// CodeDeployOps provides access to the CodeDeploy backend.
	CodeDeployOps *codedeploybackend.Handler
	// DMSOps provides access to the DMS backend.
	DMSOps *dmsbackend.Handler
	// CodeStarConnectionsOps provides access to the CodeStar Connections backend.
	CodeStarConnectionsOps *codestarconnectionsbackend.Handler
	// DynamoDBStreamsOps provides access to the DynamoDB Streams backend.
	DynamoDBStreamsOps *dynamodbstreamsbackend.Handler
	// ElasticbeanstalkOps provides access to the Elastic Beanstalk backend.
	ElasticbeanstalkOps *elasticbeanstalkbackend.Handler
	// ElasticsearchOps provides access to the Elasticsearch backend.
	ElasticsearchOps *elasticsearchbackend.Handler
	// EKSOps provides access to the EKS backend.
	EKSOps *eksbackend.Handler
	// ELBOps provides access to the Classic ELB backend.
	ELBOps *elbbackend.Handler
	// ELBv2Ops provides access to the ELBv2 (ALB/NLB) backend.
	ELBv2Ops *elbv2backend.Handler
	// EmrServerlessOps provides access to the EMR Serverless backend.
	EmrServerlessOps *emrserverlessbackend.Handler
	// EMROps provides access to the EMR backend.
	EMROps *emrbackend.Handler
	// GlacierOps provides access to the Glacier backend.
	GlacierOps *glacierbackend.Handler
	// IoTAnalyticsOps provides access to the IoT Analytics backend.
	IoTAnalyticsOps *iotanalyticsbackend.Handler
	// IoTWirelessOps provides access to the IoT Wireless backend.
	IoTWirelessOps *iotwirelessbackend.Handler
	// KinesisAnalyticsOps provides access to the Kinesis Analytics backend.
	KinesisAnalyticsOps *kinesisanalyticsbackend.Handler
	// KafkaOps provides access to the MSK Kafka backend.
	KafkaOps *kafkabackend.Handler
	// KinesisAnalyticsV2Ops provides access to the Kinesis Data Analytics v2 backend.
	KinesisAnalyticsV2Ops *kinesisanalyticsv2backend.Handler
	// LakeFormationOps provides access to the Lake Formation backend.
	LakeFormationOps *lakeformationbackend.Handler
	// ManagedBlockchainOps provides access to the Managed Blockchain backend.
	ManagedBlockchainOps *managedblockchainbackend.Handler
	// MediaConvertOps provides access to the MediaConvert backend.
	MediaConvertOps *mediaconvertbackend.Handler
	// MQOps provides access to the Amazon MQ backend.
	MQOps *mqbackend.Handler
	// MediaStoreOps provides access to the MediaStore backend.
	MediaStoreOps *mediastorebackend.Handler
	// MediaStoreDataOps provides access to the MediaStore Data backend.
	MediaStoreDataOps *mediastoredatabackend.Handler
	// MemoryDBOps provides access to the MemoryDB backend.
	MemoryDBOps *memorydbbackend.Handler
	// OrganizationsOps provides access to the Organizations backend.
	OrganizationsOps *organizationsbackend.Handler
	// MWAAOps provides access to the MWAA backend.
	MWAAOps *mwaabackend.Handler
	// PinpointOps provides access to the Pinpoint backend.
	PinpointOps *pinpointbackend.Handler
	// NeptuneOps provides access to the Neptune backend.
	NeptuneOps *neptunebackend.Handler
	// PipesOps provides access to the EventBridge Pipes backend.
	PipesOps *pipesbackend.Handler
	// RDSDataOps provides access to the RDS Data backend.
	RDSDataOps *rdsdatabackend.Handler
	// RAMOps provides access to the RAM backend.
	RAMOps *rambackend.Handler
	// RedshiftDataOps provides access to the Redshift Data backend.
	RedshiftDataOps *redshiftdatabackend.Handler
	// SageMakerOps provides access to the SageMaker backend.
	SageMakerOps *sagemakerbackend.Handler
	// SageMakerRuntimeOps provides access to the SageMaker Runtime backend.
	SageMakerRuntimeOps *sagemakerruntimebackend.Handler
	// ServiceDiscoveryOps provides access to the Service Discovery backend.
	ServiceDiscoveryOps *servicediscoverybackend.Handler
	// ServerlessRepoOps provides access to the Serverless Application Repository backend.
	ServerlessRepoOps *serverlessrepobackend.Handler
	// ShieldOps provides access to the Shield backend.
	ShieldOps *shieldbackend.Handler
	// SsoAdminOps provides access to the SSO Admin backend.
	SsoAdminOps *ssoadminbackend.Handler
	// TextractOps provides access to the Textract backend.
	TextractOps *textractbackend.Handler
	// TimestreamWriteOps provides access to the Timestream Write backend.
	TimestreamWriteOps *timestreamwritebackend.Handler
	// TimestreamQueryOps provides access to the Timestream Query backend.
	TimestreamQueryOps *timestreamquerybackend.Handler
	// TransferOps provides access to the Transfer backend.
	TransferOps *transferbackend.Handler
	// VerifiedPermissionsOps provides access to the Verified Permissions backend.
	VerifiedPermissionsOps *verifiedpermissionsbackend.Handler
	// Wafv2Ops provides access to the WAFv2 backend.
	Wafv2Ops *wafv2backend.Handler
	// XrayOps provides access to the X-Ray backend.
	XrayOps *xraybackend.Handler
	// S3TablesOps provides access to the S3 Tables backend.
	S3TablesOps *s3tablesbackend.Handler
	// FaultStore provides access to the Chaos fault store for the dashboard UI.
	FaultStore *chaos.FaultStore
	// PortAlloc provides access to runtime-allocated service ports.
	PortAlloc *portalloc.Allocator
	// Logger is the structured logger for dashboard operations.
	Logger        *slog.Logger
	GlobalConfig  *config.GlobalConfig
	ConfigManager ConfigManager
}

Config is the configuration for the Dashboard service. This struct is preserved with all its original fields for CLI and TestStack compatibility, even though most fields are no longer used by the new SPA-based DashboardHandler.

type ConfigManager

type ConfigManager interface {
	GetSettings() Settings
	UpdateSettings(Settings)
	SaveConfig() error
}

ConfigManager defines an interface for saving server configuration.

type DashboardHandler

type DashboardHandler struct {
	FaultStore    *chaos.FaultStore
	ConfigManager ConfigManager
	GlobalConfig  *config.GlobalConfig
	Logger        *slog.Logger
	SubRouter     *echo.Echo
	// contains filtered or unexported fields
}

DashboardHandler handles HTTP requests for the Dashboard web interface.

func NewHandler

func NewHandler(cfg Config) *DashboardHandler

NewHandler creates a new Dashboard web handler.

func (*DashboardHandler) ExtractOperation

func (h *DashboardHandler) ExtractOperation(_ *echo.Context) string

ExtractOperation extracts the operation name from the request.

func (*DashboardHandler) ExtractResource

func (h *DashboardHandler) ExtractResource(_ *echo.Context) string

ExtractResource extracts the resource identifier from the request.

func (*DashboardHandler) GetSupportedOperations

func (h *DashboardHandler) GetSupportedOperations() []string

GetSupportedOperations returns a list of operations supported by the dashboard (none).

func (*DashboardHandler) Handler

func (h *DashboardHandler) Handler() echo.HandlerFunc

Handler returns the Echo handler function for this service.

func (*DashboardHandler) MatchPriority

func (h *DashboardHandler) MatchPriority() int

MatchPriority returns the priority for this service's matcher.

func (*DashboardHandler) Name

func (h *DashboardHandler) Name() string

Name returns the service name.

func (*DashboardHandler) RouteMatcher

func (h *DashboardHandler) RouteMatcher() service.Matcher

RouteMatcher returns a function that determines if the request should be routed to this service.

type DynamoDBSettings

type DynamoDBSettings struct {
	DefaultRegion     string
	JanitorInterval   time.Duration
	CreateDelay       time.Duration
	EnforceThroughput bool
}

DynamoDBSettings holds dashboard-specific DynamoDB configuration.

type EC2Settings

type EC2Settings struct {
	JanitorInterval  time.Duration
	TerminatedTTL    time.Duration
	CancelledSpotTTL time.Duration
}

EC2Settings holds dashboard-specific EC2 configuration.

type EMRSettings

type EMRSettings struct {
	JanitorInterval time.Duration
	TerminatedTTL   time.Duration
}

EMRSettings holds dashboard-specific EMR configuration.

type FISSettings

type FISSettings struct {
	JanitorInterval time.Duration
	ExperimentTTL   time.Duration
}

FISSettings holds dashboard-specific FIS configuration.

type InMemClient

type InMemClient struct {
	Handler http.Handler
}

InMemClient adapts an http.Handler to be used as an HTTP client. It satisfies the aws.HTTPClient interface (implicitly by method signature).

func (*InMemClient) Do

func (c *InMemClient) Do(req *http.Request) (*http.Response, error)

Do executes an HTTP request against the in-memory handler.

func (*InMemClient) RoundTrip

func (c *InMemClient) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip executes a single HTTP transaction, returning a Response for the provided Request.

type KMSSettings

type KMSSettings struct {
	JanitorInterval time.Duration
}

KMSSettings holds dashboard-specific KMS configuration.

type KinesisSettings

type KinesisSettings struct {
	JanitorInterval time.Duration
}

KinesisSettings holds dashboard-specific Kinesis configuration.

type LambdaSettings

type LambdaSettings struct {
	DockerHost       string
	ContainerRuntime string
	PoolSize         int
	IdleTimeout      time.Duration
	MaxRuntimes      int
}

LambdaSettings holds dashboard-specific Lambda configuration.

type Provider

type Provider struct{}

Provider implements the service.Provider interface for the Dashboard service.

func (*Provider) Init

Init initializes the Dashboard service. It extracts the fault store and config manager from the AppContext and returns a new DashboardHandler instance.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the name of the service provider.

type S3Settings

type S3Settings struct {
	DefaultRegion       string
	JanitorInterval     time.Duration
	CompressionMinBytes int
}

S3Settings holds dashboard-specific S3 configuration.

type SESSettings

type SESSettings struct {
	JanitorInterval time.Duration
	EmailTTL        time.Duration
}

SESSettings holds dashboard-specific SES configuration.

type SSMSettings

type SSMSettings struct {
	JanitorInterval time.Duration
	CommandTTL      time.Duration
}

SSMSettings holds dashboard-specific SSM configuration.

type STSSettings

type STSSettings struct {
	JanitorInterval time.Duration
}

STSSettings holds dashboard-specific STS configuration.

type Settings

type Settings struct {
	LogLevel            string
	Port                string
	ElastiCacheEngine   string
	AccountID           string
	ElasticsearchEngine string
	DNSListenAddr       string
	Region              string
	OpenSearchEngine    string
	DataDir             string
	DNSResolveIP        string
	S3                  S3Settings
	Lambda              LambdaSettings
	DynamoDB            DynamoDBSettings
	EC2                 EC2Settings
	Batch               BatchSettings
	CodeBuild           CodeBuildSettings
	FIS                 FISSettings
	Athena              AthenaSettings
	EMR                 EMRSettings
	SES                 SESSettings
	SSM                 SSMSettings
	XRay                XRaySettings
	Backup              BackupSettings
	PortRangeEnd        int
	STS                 STSSettings
	JanitorTimeout      time.Duration
	AutoPurgeTTL        time.Duration
	KMS                 KMSSettings
	CloudWatchLogs      CloudWatchLogsSettings
	StepFunctions       StepFunctionsSettings
	Kinesis             KinesisSettings
	LatencyMs           int
	PortRangeStart      int
	InitScriptTimeout   time.Duration
	Persist             bool
	Demo                bool
	EnforceIAM          bool
}

Settings holds the overall dashboard internal state/preferences.

type StepFunctionsSettings

type StepFunctionsSettings struct {
	JanitorInterval    time.Duration
	ExecutionRetention time.Duration
}

StepFunctionsSettings holds dashboard-specific Step Functions configuration.

type XRaySettings

type XRaySettings struct {
	JanitorInterval time.Duration
	TraceTTL        time.Duration
}

XRaySettings holds dashboard-specific X-Ray configuration.

Directories

Path Synopsis
api
v1

Jump to

Keyboard shortcuts

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