resource

package
v1.23.1 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const HideAll = "$$HIDE_ALL$$"

Variables

View Source
var ErrResourceValidationSourceSanityCheck = errors.New("resource validation source sanity check")

Functions

func BuildResources added in v1.13.0

func BuildResources(ctx context.Context, deployType common.DeployType, releaseNamespace string, prevRelResSpecs, newRelResSpecs []*spec.ResourceSpec, patchers []spec.ResourcePatcher, clientFactory kube.ClientFactorier, opts BuildResourcesOptions) ([]*InstallableResource, []*DeletableResource, error)

Build Installable/DeletableResources from ResourceSpecs. Resulting Resources can be used to construct Installable/DeletableResourceInfos later. Must never contact the cluster, because this is called even when no cluster access allowed.

func InstallableResourceSortByWeightHandler added in v1.13.0

func InstallableResourceSortByWeightHandler(r1, r2 *InstallableResource) bool

func IsSensitive

func IsSensitive(groupKind schema.GroupKind, annotations map[string]string) bool

func KeepOnDelete added in v1.13.0

func KeepOnDelete(meta *spec.ResourceMeta, releaseNamespace string) bool

func ParseSensitivePaths added in v1.8.0

func ParseSensitivePaths(value string) []string

func RedactSensitiveData added in v1.8.0

func RedactSensitiveData(unstruct *unstructured.Unstructured, sensitivePaths []string) *unstructured.Unstructured

func ValidateLocal added in v1.13.0

func ValidateLocal(ctx context.Context, releaseNamespace string, transformedResources []*InstallableResource, opts common.ResourceValidationOptions) error

Can be called even without cluster access.

func ValidateResourcePolicy added in v1.13.0

func ValidateResourcePolicy(meta *spec.ResourceMeta) error

Types

type BuildResourcesOptions added in v1.13.0

type BuildResourcesOptions struct {
	DefaultDeletePropagation metav1.DeletionPropagation
	Remote                   bool
}

type DeletableResource added in v1.13.0

type DeletableResource struct {
	*spec.ResourceMeta

	AutoInternalDependencies   []*InternalDependency
	DeletePropagation          metav1.DeletionPropagation
	KeepOnDelete               bool
	ManualInternalDependencies []*InternalDependency
	Ownership                  common.Ownership
}

Represent a Kubernetes resource that can be deleted. Higher level than ResourceMeta, but lower level than DeletableResourceInfo. If something can be computed on this level instead of doing this on higher levels, it's better to do it here.

func NewDeletableResource added in v1.13.0

func NewDeletableResource(resourceSpec *spec.ResourceSpec, otherResourceSpecs []*spec.ResourceSpec, releaseNamespace string, opts DeletableResourceOptions) *DeletableResource

Construct a DeletableResource from a ResourceSpec. Must never contact the cluster, because this is called even when no cluster access allowed.

type DeletableResourceOptions added in v1.13.0

type DeletableResourceOptions struct {
	DefaultDeletePropagation metav1.DeletionPropagation
}

type ExternalDependency added in v1.13.0

type ExternalDependency struct {
	*spec.ResourceMeta `json:"resourceMeta"`
}

Represents a dependency on an external resource outside of the Helm release.

type InstallableResource added in v1.13.0

type InstallableResource struct {
	*spec.ResourceSpec `json:"resourceSpec"`

	Ownership                              common.Ownership                `json:"ownership"`
	Recreate                               bool                            `json:"recreate"`
	RecreateOnImmutable                    bool                            `json:"recreateOnImmutable"`
	DefaultReplicasOnCreation              *int                            `json:"defaultReplicasOnCreation,omitempty"`
	DeleteOnSucceeded                      bool                            `json:"deleteOnSucceeded"`
	DeleteOnFailed                         bool                            `json:"deleteOnFailed"`
	KeepOnDelete                           bool                            `json:"keepOnDelete"`
	FailMode                               multitrack.FailMode             `json:"failMode"`
	FailuresAllowed                        int                             `json:"failuresAllowed"`
	IgnoreReadinessProbeFailsForContainers map[string]time.Duration        `json:"ignoreReadinessProbeFailsForContainers,omitempty"`
	LogRegex                               *regexp.Regexp                  `json:"logRegex"`
	LogRegexesForContainers                map[string]*regexp.Regexp       `json:"logRegexesForContainers"`
	NoActivityTimeout                      time.Duration                   `json:"noActivityTimeout"`
	ShowLogsOnlyForContainers              []string                        `json:"showLogsOnlyForContainers,omitempty"`
	ShowServiceMessages                    bool                            `json:"showServiceMessages"`
	ShowLogsOnlyForNumberOfReplicas        int                             `json:"showLogsOnlyForNumberOfReplicas"`
	SkipLogs                               bool                            `json:"skipLogs"`
	SkipLogsForContainers                  []string                        `json:"skipLogsForContainers,omitempty"`
	SkipLogsRegex                          *regexp.Regexp                  `json:"skipLogsRegex"`
	SkipLogsRegexForContainers             map[string]*regexp.Regexp       `json:"skipLogsRegexForContainers"`
	TrackTerminationMode                   multitrack.TrackTerminationMode `json:"trackTerminationMode"`
	Weight                                 *int                            `json:"weight,omitempty"`
	ManualInternalDependencies             []*InternalDependency           `json:"manualInternalDependencies,omitempty"`
	AutoInternalDependencies               []*InternalDependency           `json:"autoInternalDependencies,omitempty"`
	ExternalDependencies                   []*ExternalDependency           `json:"externalDependencies,omitempty"`
	DeployConditions                       map[common.On][]common.Stage    `json:"deployConditions"`
	DeletePropagation                      metav1.DeletionPropagation      `json:"deletePropagation"`
}

Represent a Kubernetes resource that can be installed. Higher level than ResourceSpec, but lower level than InstallableResourceInfo. If something can be computed on this level instead of doing this on higher levels, it's better to do it here.

func NewInstallableResource added in v1.13.0

func NewInstallableResource(res *spec.ResourceSpec, releaseNamespace string, clientFactory kube.ClientFactorier, opts InstallableResourceOptions) (*InstallableResource, error)

Construct an InstallableResource from a ResourceSpec. Must never contact the cluster, because this is called even when no cluster access allowed.

type InstallableResourceOptions added in v1.13.0

type InstallableResourceOptions struct {
	DefaultDeletePropagation metav1.DeletionPropagation
	Remote                   bool
}

type InternalDependency added in v1.13.0

type InternalDependency struct {
	*spec.ResourceMatcher `json:"resourceMatcher"`

	ResourceState common.ResourceState `json:"resourceState"`
}

Represents a dependency on a Kubernetes resource in the Helm release.

type SensitiveInfo added in v1.8.0

type SensitiveInfo struct {
	IsSensitive    bool
	SensitivePaths []string
}

func GetSensitiveInfo added in v1.8.0

func GetSensitiveInfo(groupKind schema.GroupKind, annotations map[string]string) SensitiveInfo

func (*SensitiveInfo) FullySensitive added in v1.13.0

func (i *SensitiveInfo) FullySensitive() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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