kubecost

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 Kubecost

  • git clone
  • mkdir/kubecost
  • cd kubecost/
  • go mod init github.com/aws/aws-k8s-tester/k8s-tester/kubecost
  • 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-kubecost/main.go apply \
    --kubectl-path="/usr/local/bin/kubectl" \
    --kubeconfig-path="/Users/Username/.kube/config" \
    --log-outputs="kubecost.log"


## Delete
go run cmd/k8s-tester-kubecost/main.go delete \
    --kubectl-path="/usr/local/bin/kubectl" \
    --kubeconfig-path="/Users/Username/.kube/config" \
    --log-outputs="kubecost.log"

This test is equivilant to running this set of commands

kubectl create namespace kubecost helm repo add https://kubecost.github.io/cost-analyzer/ helm install kubecost cost-analyzer --namespace kubecost --set --set persistentVolume.enabled="false" --set prometheus.server.persistentVolume.enabled=false

After running apply how to check kubecost

kubectl port-forward --namespace kubecost deployment/cost-analyzer 9090

Documentation

Overview

package kubecost installs Kubecost OS helm chart. ref. https://www.kubecost.com/

Index

Constants

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"`
}

func NewDefault

func NewDefault() *Config

func (*Config) ValidateAndSetDefaults

func (cfg *Config) ValidateAndSetDefaults() error

Directories

Path Synopsis
cmd
k8s-tester-kubecost
k8s-tester-kubecost installs Kubecost using helm, and tests that it's able to function correctly.
k8s-tester-kubecost installs Kubecost using helm, 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