base

package
v1.105.4 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2024 License: Apache-2.0 Imports: 66 Imported by: 1

Documentation

Index

Constants

View Source
const NamespaceTemplateConst = "repl{{ Namespace}}"

Variables

View Source
var (
	HelmV3ManifestNameRegex = regexp.MustCompile("^# Source: (.+)")
)

Functions

func AddBundlePart

func AddBundlePart(baseDir string, filename string, content []byte) error

func FindHelmChartArchiveInRelease added in v1.99.0

func FindHelmChartArchiveInRelease(upstreamFiles []upstreamtypes.UpstreamFile, kotsHelmChart helmchart.HelmChartInterface) ([]byte, error)

FindHelmChartArchiveInRelease iterates through all files in the release (upstreamFiles), looking for a helm chart archive that matches the chart name and version specified in the kotsHelmChart parameter

func FindObjectsWithImages

func FindObjectsWithImages(b *Base) []k8sdoc.K8sDoc

func NewConfigContextTemplateBuilder

func NewConfigContextTemplateBuilder(u *upstreamtypes.Upstream, renderOptions *RenderOptions) (*template.Builder, map[string]template.ItemValue, error)

func RenderKotsKinds added in v1.105.0

func RenderKotsKinds(u *upstreamtypes.Upstream, renderOptions *RenderOptions) (map[string][]byte, error)

RenderKotsKinds is responsible for rendering KOTS custom resources

func RenderUpstream

func RenderUpstream(u *upstreamtypes.Upstream, renderOptions *RenderOptions, renderedKotsKinds *kotsutil.KotsKinds) (base *Base, helmBases []Base, err error)

RenderUpstream is responsible for any conversions or transpilation steps are required to take an upstream and make it a valid kubernetes base

Types

type Base

type Base struct {
	Path            string
	Namespace       string
	Files           []BaseFile
	ErrorFiles      []BaseFile
	AdditionalFiles []BaseFile
	Bases           []Base
}

func RenderHelm

func RenderHelm(u *upstreamtypes.Upstream, renderOptions *RenderOptions) (*Base, error)

func (*Base) DeepCopy

func (in *Base) DeepCopy() *Base

func (*Base) DeepCopyInto

func (in *Base) DeepCopyInto(out *Base)

func (Base) ListErrorFiles

func (b Base) ListErrorFiles() []BaseFile

func (*Base) SetNamespace

func (b *Base) SetNamespace(namespace string)

func (*Base) WriteBase

func (b *Base) WriteBase(options WriteOptions) error

type BaseFile

type BaseFile struct {
	Path    string
	Content []byte
	Error   error
}

func PrependBaseFilesPath

func PrependBaseFilesPath(files []BaseFile, prefix string) []BaseFile

func (*BaseFile) DeepCopy

func (in *BaseFile) DeepCopy() *BaseFile

func (*BaseFile) DeepCopyInto

func (in *BaseFile) DeepCopyInto(out *BaseFile)

func (BaseFile) IsKotsKind

func (f BaseFile) IsKotsKind() (bool, error)

func (BaseFile) ShouldBeIncludedInBaseKustomization

func (f BaseFile) ShouldBeIncludedInBaseKustomization(excludeKotsKinds bool) (bool, error)

ShouldBeIncludedInBaseKustomization attempts to determine if this is a valid Kubernetes manifest. It accomplished this by trying to unmarshal the YAML and looking for a apiVersion and Kind

type Document

type Document struct {
	APIVersion string `yaml:"apiVersion"`
	Kind       string `yaml:"kind"`
}

type FindPrivateImagesOptions

type FindPrivateImagesOptions struct {
	BaseDir            string
	AppSlug            string
	ReplicatedRegistry registrytypes.RegistryOptions
	DockerHubRegistry  registrytypes.RegistryOptions
	Installation       *kotsv1beta1.Installation
	AllImagesPrivate   bool
	HelmChartPath      string
	UseHelmInstall     map[string]bool
	KotsKindsImages    []string
}

type FindPrivateImagesResult

type FindPrivateImagesResult struct {
	Images        []kustomizeimage.Image          // images to be rewritten
	Docs          []k8sdoc.K8sDoc                 // docs that have rewritten images
	CheckedImages []kotsv1beta1.InstallationImage // all images found in the installation
}

type HelmChartDependencies

type HelmChartDependencies struct {
	Dependencies []HelmChartDependency `yaml:"dependencies"`
}

type HelmChartDependency

type HelmChartDependency struct {
	Alias      string `yaml:"alias"`
	Name       string `yaml:"name"`
	Repository string `yaml:"repository"`
}

type HelmSubCharts

type HelmSubCharts struct {
	ParentName string
	SubCharts  []string
}

func FindHelmSubChartsFromBase

func FindHelmSubChartsFromBase(baseDir, parentChartName string) (*HelmSubCharts, error)

Returns a list of HelmSubCharts, each of which contains the name of the parent chart and a list of subcharts Each item in the subcharts list is a string of repeating terms the form "charts/<chart name>". The first item is just the top level chart (TODO: this should be removed) For example:

  • top-level-chart
  • charts/top-level-chart
  • charts/top-level-chart/charts/cool-sub-chart

type OverlySimpleGVK

type OverlySimpleGVK struct {
	APIVersion string               `yaml:"apiVersion"`
	Kind       string               `yaml:"kind"`
	Metadata   OverlySimpleMetadata `yaml:"metadata"`
}

func GetGVKWithNameAndNs

func GetGVKWithNameAndNs(content []byte, baseNS string) (string, OverlySimpleGVK)

type OverlySimpleMetadata

type OverlySimpleMetadata struct {
	Name        string                 `yaml:"name"`
	Namespace   string                 `yaml:"namespace"`
	Annotations map[string]interface{} `json:"annotations"`
}

type ParseError

type ParseError struct {
	Err error
}

func (ParseError) Error

func (e ParseError) Error() string

type RenderOptions

type RenderOptions struct {
	SplitMultiDocYAML bool
	Namespace         string
	HelmVersion       string
	HelmValues        map[string]interface{}
	RegistrySettings  registrytypes.RegistrySettings
	ExcludeKotsKinds  bool
	AppSlug           string
	Sequence          int64
	IsAirgap          bool
	UseHelmInstall    bool
	Log               *logger.CLILogger
}

type RewriteImageOptions added in v1.82.0

type RewriteImageOptions struct {
	BaseDir           string
	AppSlug           string
	SourceRegistry    registrytypes.RegistryOptions
	DestRegistry      registrytypes.RegistryOptions
	DockerHubRegistry registrytypes.RegistryOptions
	CopyImages        bool
	IsAirgap          bool
	Log               *logger.CLILogger
	ReportWriter      io.Writer
	KotsKinds         *kotsutil.KotsKinds
}

type RewriteImagesResult added in v1.82.0

type RewriteImagesResult struct {
	Images        []kustomizeimage.Image          // images to be rewritten
	CheckedImages []kotsv1beta1.InstallationImage // all images found in the installation
}

func RewriteImages added in v1.82.0

func RewriteImages(options RewriteImageOptions) (*RewriteImagesResult, error)

type SkippedFile

type SkippedFile struct {
	Path   string `yaml:"path"`
	Reason string `yaml:"reason"`
}

type SkippedFilesIndex

type SkippedFilesIndex struct {
	SkippedFiles []SkippedFile `yaml:"skippedFiles"`
}

type WriteOptions

type WriteOptions struct {
	BaseDir          string
	SkippedDir       string
	Overwrite        bool
	ExcludeKotsKinds bool
	IsHelmBase       bool
}

Jump to

Keyboard shortcuts

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