epsagon

package module
v0.0.0-...-6d46272 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 16 Imported by: 1

README

How we added/built stand-alone tests for Epsagon

  • git clone
  • mkdir/epsagon
  • cd epsagon/
  • go mod init github.com/aws/aws-k8s-tester/k8s-tester/epsagon
  • Create a file to implement the Tester Interface. touch tester.go
  • copy a vend file from another package cp ../vend.sh .
  • Write tests
  • run ./vend.sh
  • run go mod tidy -v

Test/Run singe test stand-alone

go run cmd/k8s-tester-epsagon/main.go apply \
    --kubectl-path="/usr/local/bin/kubectl" \
    --kubeconfig-path="/PATHTO/kubeconfig" \
    --log-outputs="epsagon.log" \
    --api-token="123456-7890" \
    --collector-endpoint="URL-FOR-EPSAGON" \
    --cluster-name="epsagon-application-cluster" 

## Delete
go run cmd/k8s-tester-epsagon/main.go delete \
    --kubectl-path="/usr/local/bin/kubectl" \
    --kubeconfig-path="/PATHTO/kubeconfig" \
    --log-outputs="epsagon.log" \
    --api-token="123456-7890" \
    --collector-endpoint="URL-FOR-EPSAGON" \
    --cluster-name="epsagon-application-cluster" 

Tests are equivilant to

helm repo add epsagon https://helm.epsagon.com
helm repo update
helm install epsagon-agent \
    --set epsagonToken="123456-7890" \
    --set clusterName="epsagon-application-cluster" \
    --set metrics.enabled=true \
    --set "metrics-agent.server.remoteWrite[0].url="URL-FOR-EPSAGON" \
    epsagon/cluster-agent

Documentation

Overview

package epsagon installs epsagon operator.

Index

Constants

View Source
const (
	DefaultMinimumNodes     int = 1
	DefaultHelmChartRepoURL     = "https://github.com/epsagon/helm-charts/releases/download/cluster-agent-0.1.16/cluster-agent-0.1.16.tgz"
)

Variables

This section is empty.

Functions

func Env

func Env() string

func New

func New(cfg *Config) k8s_tester.Tester

Types

type Config

type Config struct {
	Enable bool `json:"enable"`
	Prompt bool `json:"-"`

	Stopc     chan struct{} `json:"-"`
	Logger    *zap.Logger   `json:"-"`
	LogWriter io.Writer     `json:"-"`
	Client    client.Client `json:"-"`

	// MinimumNodes is the minimum number of Kubernetes nodes required for installing this addon.
	MinimumNodes int `json:"minimum_nodes"`
	// HelmChartRepoURL is the helm chart repo URL.
	HelmChartRepoURL string `json:"helm_chart_repo_url"`
	// Namespace to create test resources.
	Namespace string `json:"namespace"`
	// Collector Endpoint is the url for your specfic epsagon collector to be pointed at
	CollectorEndpoint string `json:"collector_endpoint"`
	// Epsagon API key for the agent
	APIToken string `json:"api_token"`
	// Epsagon specific clustername from helm install command ex: epsagon-application-cluster
	ClusterName string `json:"cluster_name"`
}

func NewDefault

func NewDefault() *Config

func (*Config) ValidateAndSetDefaults

func (cfg *Config) ValidateAndSetDefaults() error

Directories

Path Synopsis
cmd
k8s-tester-epsagon
k8s-tester-epsagon installs epsagon using kubectl, and tests that it's able to function correctly.
k8s-tester-epsagon installs epsagon using kubectl, and tests that it's able to function correctly.

Jump to

Keyboard shortcuts

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