server

package
v1.18.7 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

README

Server

This package is the controller factory for Server reconciliation.

It is structurally standard, but it fronts the richest provisioner in the tree: pkg/provisioners/managers/server, which maintains explicit resource-reference edges and SSH CA cloud-init augmentation.

The watch is slightly broader than the other resource managers: besides server spec generation changes, it also wakes the controller when the monitor first observes a pre-launch provider server in Healthy/Errored. That status edge is the trigger for bounded delete-and-retry handling in the server provisioner.

The "pre-launch" test is the shared ProviderCreateFailure predicate exported by pkg/provisioners/managers/server, reused here verbatim so the watch trigger and the provisioner action are decided by the same code. It blocks the rebuild for any server that has ever been provisioned — authoritatively via the write-once status.provisionedAt latch, with launchedAt/phase as backstops — so a healthy, data-bearing server that later errors never re-arms delete-and-retry.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Factory

type Factory struct {
	managers.ProvidersInit
}

Factory provides methods that can build a type specific controller.

func (*Factory) Metadata

func (*Factory) Metadata() util.ServiceDescriptor

Metadata returns the application, version and revision.

func (*Factory) Options

Options returns any options to be added to the CLI flags and passed to the reconciler.

func (*Factory) Reconciler

func (f *Factory) Reconciler(options *options.Options, controllerOptions coremanager.ControllerOptions, manager manager.Manager) reconcile.Reconciler

Reconciler returns a new reconciler instance.

func (*Factory) RegisterWatches

func (*Factory) RegisterWatches(manager manager.Manager, controller controller.Controller) error

RegisterWatches adds any watches that would trigger a reconcile.

func (*Factory) Schemes

func (*Factory) Schemes() []coreclient.SchemeAdder

Schemes allows controllers to add types to the client beyond the defaults defined in this repository.

Jump to

Keyboard shortcuts

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