helm

package
v0.0.0-...-ba6934c Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cli

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

func NewCli

func NewCli(commandRunner exec.CommandRunner) *Cli

func (*Cli) AddRepo

func (c *Cli) AddRepo(ctx context.Context, repo *Repository) error

AddRepo adds a helm repo with the specified name and url

func (*Cli) CheckInstalled

func (cli *Cli) CheckInstalled(ctx context.Context) error

Checks whether or not the Helm CLI is installed and available within the PATH

func (*Cli) Install

func (c *Cli) Install(ctx context.Context, release *Release) error

Install installs a helm release

func (*Cli) InstallUrl

func (cli *Cli) InstallUrl() string

Returns the installation URL to install the Helm CLI

func (*Cli) Name

func (cli *Cli) Name() string

Gets the name of the Tool

func (*Cli) Status

func (c *Cli) Status(ctx context.Context, release *Release) (*StatusResult, error)

Status returns the status of a helm release

func (*Cli) UpdateRepo

func (c *Cli) UpdateRepo(ctx context.Context, repoName string) error

UpdateRepo updates the helm repo with the specified name

func (*Cli) Upgrade

func (c *Cli) Upgrade(ctx context.Context, release *Release) error

Upgrade upgrades a helm release to the specified version If the release did not previously exist, it will be installed

type Config

type Config struct {
	Repositories []*Repository `yaml:"repositories"`
	Releases     []*Release    `yaml:"releases"`
}

type Release

type Release struct {
	Name      string `yaml:"name"`
	Chart     string `yaml:"chart"`
	Version   string `yaml:"version"`
	Namespace string `yaml:"namespace"`
	Values    string `yaml:"values"`
}

type Repository

type Repository struct {
	Name string `yaml:"name"`
	Url  string `yaml:"url"`
}

type StatusInfo

type StatusInfo struct {
	FirstDeployed time.Time  `json:"first_deployed"`
	LastDeployed  time.Time  `json:"last_deployed"`
	Status        StatusKind `json:"status"`
	Notes         string     `json:"notes"`
}

StatusInfo is the status information of a helm release

type StatusKind

type StatusKind string
const (
	// StatusKindDeployed is the status of a helm release that has been deployed
	StatusKindDeployed StatusKind = "deployed"
)

type StatusResult

type StatusResult struct {
	Name      string     `json:"name"`
	Info      StatusInfo `json:"info"`
	Version   float64    `json:"version"`
	Namespace string     `json:"namespace"`
}

StatusResult is the result of a helm status command

Jump to

Keyboard shortcuts

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