deployer

package
v0.17.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Deployer added in v0.10.0

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

func New added in v0.10.0

func New(localClient client.Client, upstreamClient client.Reader, lookup Lookup, deployer *helmdeployer.Helm) *Deployer

func (*Deployer) DeployBundle added in v0.10.0

func (d *Deployer) DeployBundle(
	ctx context.Context,
	bd *fleet.BundleDeployment,
	force bool,
) (fleet.BundleDeploymentStatus, error)

DeployBundle deploys the bundle deployment with the helm SDK. It does not mutate bd, instead it returns the modified status If force is true, bd will be upgraded even if its contents have not changed; this is useful for applying changes coming from external resources, such as those referenced through valuesFrom.

func (*Deployer) ImpersonatingClient added in v0.14.11

func (d *Deployer) ImpersonatingClient(ctx context.Context, bd *fleet.BundleDeployment) (client.Client, error)

ImpersonatingClient returns the downstream client to use for mutations that must be authorized against the deployment's identity (namespace label/annotation mutations, DownstreamResources copies). When the deployment resolves to a service account (pinned, or the "fleet-default" fallback), it returns a client impersonating that account, so the mutation is gated by the tenant's downstream RBAC rather than the agent's cluster-admin credentials. Otherwise it returns the agent client, preserving the previous behaviour.

func (*Deployer) RemoveExternalChanges added in v0.10.0

func (d *Deployer) RemoveExternalChanges(ctx context.Context, bd *fleet.BundleDeployment) (string, error)

func (*Deployer) Resources added in v0.10.0

func (d *Deployer) Resources(name string, releaseID string) (*helmdeployer.Resources, error)

type Lookup added in v0.10.0

type Lookup interface {
	Get(ctx context.Context, client client.Reader, id string) (*manifest.Manifest, error)
}

type NamespaceForbiddenError added in v0.13.16

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

NamespaceForbiddenError indicates the deployment's service account is not allowed to mutate the target namespace. The Helm release installed, but the requested namespaceLabels/namespaceAnnotations could not be applied, so the deployment is reported not-ready. It is handled as a controlled requeue rather than a failed reconcile (to avoid tight-looping); the patch converges once the missing namespace RBAC is granted. That grant is not a watched resource and would never re-trigger a reconcile on its own, hence the controlled requeue. It unwraps to the underlying Forbidden error, so apierrors.IsForbidden still reports true.

func (*NamespaceForbiddenError) Error added in v0.13.16

func (e *NamespaceForbiddenError) Error() string

func (*NamespaceForbiddenError) Unwrap added in v0.13.16

func (e *NamespaceForbiddenError) Unwrap() error

type NotReadyDependenciesError added in v0.13.7

type NotReadyDependenciesError struct {
	Pending []PendingDependency
}

NotReadyDependenciesError indicates that the bundledeployment is not deployed yet because at least one of the bundles it depends on has not reached an accepted state. This is a temporary condition, not a deployment error: the controller requeues until the dependencies are met.

func (*NotReadyDependenciesError) Error added in v0.13.7

func (e *NotReadyDependenciesError) Error() string

func (*NotReadyDependenciesError) PendingDescriptions added in v0.16.2

func (e *NotReadyDependenciesError) PendingDescriptions() []string

PendingDescriptions returns one human readable description per blocking dependency. Loggers reflect over a []PendingDependency instead of calling String on its elements, so they should use this rather than Pending.

type PendingDependency added in v0.16.2

type PendingDependency struct {
	Name           string
	State          fleet.BundleState
	AcceptedStates []fleet.BundleState
}

PendingDependency describes a dependency which is blocking a deployment, together with the state it is in and the states which would unblock it.

func (PendingDependency) String added in v0.16.2

func (d PendingDependency) String() string

Directories

Path Synopsis
Package data contains functions for working with unstructured values like []interface or map[string]interface{}.
Package data contains functions for working with unstructured values like []interface or map[string]interface{}.
internal
diff
+vendored argoproj/gitops-engine/pkg/diff/diff.go
+vendored argoproj/gitops-engine/pkg/diff/diff.go
diff/json
+vendored argoproj/gitops-engine/pkg/utils/json/json.go
+vendored argoproj/gitops-engine/pkg/utils/json/json.go
diff/scheme
+vendored https://github.com/argoproj/gitops-engine/blob/master/pkg/utils/kube/scheme/scheme.go
+vendored https://github.com/argoproj/gitops-engine/blob/master/pkg/utils/kube/scheme/scheme.go
normalizers
Package normalizers contains normalizers for resources.
Package normalizers contains normalizers for resources.
normalizers/glob
+vendored argoproj/argo-cd/util/glob/glob.go
+vendored argoproj/argo-cd/util/glob/glob.go
resource
+vendored argoproj/argo-cd/pkg/apis/application/v1alpha1/types.go
+vendored argoproj/argo-cd/pkg/apis/application/v1alpha1/types.go
Package monitor provides functionality for monitoring and updating the status of a bundle deployment.
Package monitor provides functionality for monitoring and updating the status of a bundle deployment.
Package imported from github.com/rancher/wrangler, with a few local tweaks (e.g.
Package imported from github.com/rancher/wrangler, with a few local tweaks (e.g.

Jump to

Keyboard shortcuts

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