Documentation ¶
Index ¶
- Constants
- Variables
- func CheckKnativeInstallation() (isInstalled bool, isOurs bool, err error)
- func GetHelmArchive(chartArchiveUri string) (*chart.Chart, error)
- func GetValuesFromFile(helmChart *chart.Chart, fileName string) (*chart.Config, error)
- func InstallManifest(manifest []byte, isDryRun bool, allowedKinds []string, ...) error
- func Kubectl(stdin io.Reader, args ...string) error
- func RenderChart(helmChart *chart.Chart, overrideValues *chart.Config, ...) ([]byte, error)
- func SkipKnativeInstall() (bool, error)
- func WaitForCrdsToBeRegistered(crds []string, timeout, interval time.Duration) error
- type CmdKubectl
- type KubeCli
- type ManifestFilterFunc
Constants ¶
const ( YamlDocumentSeparator = "\n---\n" CrdKindName = "CustomResourceDefinition" NotesFileName = "NOTES.txt" )
Variables ¶
Functions ¶
func GetHelmArchive ¶
Returns the Helm chart archive located at the given URI (can be either an http(s) address or a file path)
func GetValuesFromFile ¶
Searches for the value file with the given name in the chart and returns its raw content. NOTE: this also sets the namespace.create attribute to 'true'.
func InstallManifest ¶
func InstallManifest(manifest []byte, isDryRun bool, allowedKinds []string, expectedLabels map[string]string) error
noinspection GoNameStartsWithPackageName
func RenderChart ¶
func RenderChart(helmChart *chart.Chart, overrideValues *chart.Config, renderOptions renderutil.Options, filterFunctions ...ManifestFilterFunc) ([]byte, error)
Renders the content of the given Helm chart archive:
- helmChart: the Gloo helm chart archive
- overrideValues: value to override the chart defaults. NOTE: passing `nil` means "ignore the chart's default values"!
- renderOptions: options to be used in the render
- filterFunctions: a collection of functions that can be used to filter and transform the contents of the manifest. Will be applied in the given order.
func SkipKnativeInstall ¶ added in v0.12.0
If this is a knative deployment, we have to check whether knative itself is already installed in the cluster. If knative is already installed and we don't own it, don't install/upgrade/uninstall it (It's okay to update the installation if we own it).
Types ¶
type CmdKubectl ¶ added in v0.12.0
type CmdKubectl struct{}
type ManifestFilterFunc ¶
This type represents a function that can be used to filter and transform a list of manifests. It returns three values:
- skip: if true, the input manifest will be excluded from the output
- content: if skip is false, this value will be included in the output manifest
- err: if != nil, the whole manifest retrieval operation will fail
var ExcludeCrds ManifestFilterFunc = func(input []manifest.Manifest) (output []manifest.Manifest, err error) {
manifest, _, err := excludeByMatcher(input, crdInstallMatcher)
return manifest, err
}
Filters out any CRD from each manifest
var ExcludeEmptyManifests ManifestFilterFunc = func(input []manifest.Manifest) ([]manifest.Manifest, error) { var output []manifest.Manifest for _, manifest := range input { if !isEmptyManifest(manifest.Content) { output = append(output, manifest) } } return output, nil }
Returns only non-empty manifests
var ExcludeNotes ManifestFilterFunc = func(input []manifest.Manifest) (output []manifest.Manifest, err error) { for _, man := range input { if strings.HasSuffix(man.Name, NotesFileName) { continue } output = append(output, man) } return }
Filters out NOTES.txt files
var ExcludePreInstall ManifestFilterFunc = func(input []manifest.Manifest) (output []manifest.Manifest, err error) {
manifest, _, err := excludeByMatcher(input, preInstallMatcher)
return manifest, err
}
Filters out any pre-install from each manifest
var IncludeOnlyPreInstall ManifestFilterFunc = func(input []manifest.Manifest) (output []manifest.Manifest, err error) {
manifest, _, err := excludeByMatcher(input, nonPreInstallMatcher)
return manifest, err
}
Filters out anything but pre-install
func KnativeResourceFilterFunction ¶ added in v0.11.2
func KnativeResourceFilterFunction(skipKnativeInstall bool) ManifestFilterFunc