v1beta1

package
v0.0.0-...-04db488 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package v1beta1 is manifest resources for the v1beta1 schema

Index

Constants

View Source
const (
	// APIVersion is the string representation of the api version of this schema
	APIVersion = "manifests/v1beta1"
	// ChartSourceTypeDirectory is the identifier for spec.source.charts[].type where charts exist in a local directory
	ChartSourceTypeDirectory = "directory"
	// ChartSourceTypeRepo is the identifier for spec.source.charts[].type where charts exist in a chart repository
	ChartSourceTypeRepo = "repo"
)
View Source
const Schema = `` /* 3526-byte string literal not displayed */

Schema is the Go string variable container the JSON schema

Variables

This section is empty.

Functions

This section is empty.

Types

type Chart

type Chart struct {
	Name        string      `yaml:"name,omitempty" json:"name,omitempty"`
	Source      string      `yaml:"source,omitempty" json:"source,omitempty"`
	ReleaseName string      `yaml:"releaseName,omitempty" json:"releaseName,omitempty"`
	Namespace   string      `yaml:"namespace,omitempty" json:"namespace,omitempty"`
	Version     string      `yaml:"version,omitempty" json:"version,omitempty"`
	Values      interface{} `yaml:"values,omitempty" json:"-"` // json:"-" here is to ignore generic type validation, otherwise we'd get: json: unsupported type: map[interface {}]interface {}
	Timeout     string      `yaml:"timeout,omitempty" json:"timeout,omitempty"`
}

Chart is a single chart to install/upgrade

type ChartSource

type ChartSource struct {
	Type     string `yaml:"type,omitempty" json:"type,omitempty"`
	Name     string `yaml:"name,omitempty" json:"name,omitempty"`
	Location string `yaml:"location,omitempty" json:"location,omitempty"`
	// all properties below here are not relevant to every ChartSource.Type, but will either
	// just be used when needed/ignored otherwise for chart source types where they're irrelevant
	CredentialsSecret *ChartSourceCredentialsSecret `yaml:"credentialsSecret,omitempty" json:"credentialsSecret,omitempty"`
}

ChartSource is a local or remote location that can serve one or more packaged charts

type ChartSourceCredentialsSecret

type ChartSourceCredentialsSecret struct {
	Name        string `yaml:"name,omitempty" json:"name,omitempty"`
	Namespace   string `yaml:"namespace,omitempty" json:"namespace,omitempty"`
	UsernameKey string `yaml:"usernameKey,omitempty" json:"usernameKey,omitempty"`
	PasswordKey string `yaml:"passwordKey,omitempty" json:"passwordKey,omitempty"`
}

ChartSourceCredentialsSecret is a reference to a Kubernetes secret storing credentials for accessing a chart source

type Manifest

type Manifest struct {
	APIVersion string    `yaml:"apiVersion,omitempty" json:"apiVersion,omitempty"`
	Metadata   *Metadata `yaml:"metadata,omitempty" json:"metadata,omitempty"`
	Spec       *Spec     `yaml:"spec,omitempty" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

Manifest is the v1beta1 manifest object, implements internal/interfaces/manifest.go

func (*Manifest) Create

func (m *Manifest) Create(initializeCharts []string) (string, error)

Create will make a baseline manifest for this version

func (*Manifest) GetName

func (m *Manifest) GetName() string

GetName will return the unique name for this manifest

func (*Manifest) Load

func (m *Manifest) Load(manifestContent string) error

Load will load manifest string/file/byte content into a v1beta1.Manifest object

func (*Manifest) Release

Release will run a full release/install/upgrade of all charts in the manifest

func (*Manifest) SetLogger

func (m *Manifest) SetLogger(log *logger.Logger)

SetLogger sets the logger to use

func (*Manifest) SetTempDirectory

func (m *Manifest) SetTempDirectory(tempDirectory string)

SetTempDirectory will set the path to use for temp files/directories

type Metadata

type Metadata struct {
	Name string `yaml:"name,omitempty" json:"name,omitempty"`
}

Metadata stores the meta info about the manifest

type Sources

type Sources struct {
	Charts []*ChartSource `yaml:"charts" json:"charts"`
}

Sources contains info about artifact sources to use during loftsman shipping

type Spec

type Spec struct {
	Sources *Sources `yaml:"sources,omitempty" json:"sources,omitempty"`
	All     *Chart   `yaml:"all,omitempty" json:"all,omitempty"` // All is really a subset of *Chart, but we can restrict accepted parts via our schema
	Charts  []*Chart `yaml:"charts,omitempty" json:"charts,omitempty"`
}

Spec is the root of definitions and instructions for the manifest

Jump to

Keyboard shortcuts

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