Documentation ¶
Overview ¶
Package reconciler declares the reconciler process that has four main components: git-sync, parser, applier, remediator
git-sync is a third party component that runs in a sidecar container. The other three components are all declared in their respective packages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶
type Options struct { // ClusterName is the name of the cluster we are parsing configuration for. ClusterName string // FightDetectionThreshold is the rate of updates per minute to an API // Resource at which the reconciler will log warnings about too many updates // to the resource. FightDetectionThreshold float64 // NumWorkers is the number of concurrent remediator workers to run at once. // Each worker pulls resources off of the work queue and remediates them one // at a time. NumWorkers int // ReconcilerScope is the scope of resources which the reconciler will manage. // Currently this can either be a namespace or the root scope which allows a // cluster admin to manage the entire cluster. // // At most one Reconciler may have a given value for Scope on a cluster. More // than one results in undefined behavior. ReconcilerScope declared.Scope // SyncName is the name of the RootSync or RepoSync object. SyncName string // ReconcilerName is the name of the Reconciler Deployment. ReconcilerName string // FullSyncPeriod is the period of time between forced re-sync from source // (even without a new commit). FullSyncPeriod time.Duration // PollingPeriod is the period of time between checking the partial sync // attempts that check the filesystem for source updates to sync. PollingPeriod time.Duration // RetryPeriod is the period of time between checking the filesystem for // source updates to sync, after an error. RetryPeriod time.Duration // StatusUpdatePeriod is how long the parser waits between updates of the // sync status, to account for management conflict errors from the remediator. StatusUpdatePeriod time.Duration // SourceRoot is the absolute path to the source repository. // Usually contains a symlink that must be resolved every time before parsing. SourceRoot cmpath.Absolute // HydratedRoot is the absolute path to the hydrated configs. // If hydration is not performed, it will be an empty path. HydratedRoot string // RepoRoot is the absolute path to the parent directory of SourceRoot and HydratedRoot. RepoRoot cmpath.Absolute // HydratedLink is the relative path to the hydrated root. // It is a symlink that links to the hydrated configs under the hydrated root dir. HydratedLink string // SourceRev is the git revision or a helm chart version being synced. SourceRev string // SourceBranch is the git branch being synced. SourceBranch string // SourceRepo is the git or OCI or Helm repo being synced. SourceRepo string // SourceType is the type of the source repository, must be git or oci or Helm. SourceType configsync.SourceType // SyncDir is the relative path to the configurations in the source. SyncDir cmpath.Relative // StatusMode controls the kpt applier to inject the actuation status data or not StatusMode string // ReconcileTimeout controls the reconcile/prune Timeout in kpt applier ReconcileTimeout string // APIServerTimeout is the client-side timeout used for talking to the API server APIServerTimeout string // RenderingEnabled indicates whether the reconciler Pod is currently running // with the hydration-controller. RenderingEnabled bool // RootOptions is the set of options to fill in if this is configuring the // Root reconciler. // Unset for Namespace repositories. *RootOptions // DynamicNSSelectorEnabled indicates whether there exists at least one // NamespaceSelector using the dynamic mode, which requires Namespace // controller running to watch Namespace events. DynamicNSSelectorEnabled bool // WebhookEnabled is indicates whether the Admission Webhook is currently // installed and running WebhookEnabled bool }
Options contains the settings for a reconciler process.
type RootOptions ¶
type RootOptions struct { // SourceFormat is how the Root repository is structured. SourceFormat configsync.SourceFormat // NamespaceStrategy indicates the NamespaceStrategy used by this reconciler. NamespaceStrategy configsync.NamespaceStrategy }
RootOptions are the options specific to parsing Root repositories.
Click to show internal directories.
Click to hide internal directories.