package
4.8.0-alpha00
Repository: https://github.com/digitalrebar/provision.git
Documentation: pkg.go.dev
# Functions
All returns a slice containing a single blank instance of all the Models.
AllPrefixes returns a slice containing the prefix names of all the Models.
ArchEqual returns whether two arches are equal.
Clone returns a deep copy of the passed-in Model.
DecodeYaml is a helper function for dealing with user input -- when accepting input from the user, we want to treat both YAML and JSON as first-class citizens.
DHCPOptionParser returns the appropriate string conversion and deconversion functions for a given DHCP option code.
DHCPOptionsInOrder returns the DHCP options present in the passed-in Packet in the order they appeared, excluding the Pad and End options.
No description provided by the author
No description provided by the author
FibBackoff takes function and retries it in a fibonacci backup sequence.
GenPatch generates a JSON patch that will transform source into target.
GetHaState loads a serialized version of the CurrentHAState for a node from the directory passed in as Base.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
New returns a new blank instance of the Model with the passed-in prefix.
NewError creates a new Error with a few key parameters pre-populated.
ParseContentPrerequisites is a helper that parses a Prerequisites string from the content bundle metadata and returns a map containing the comparison functions that must pass in order for the content bundle's prerequisites to be satisfied.
No description provided by the author
RandString returns a random string of n characters The range of characters is limited to the base64 set.
Remarshal remarshals src onto dest.
SetHaState saves state into base/ha-state.json.
SupportedArch normalizes system architectures and returns whether it is one we know how to normalize.
UpdateAllScopesWithRawModel adds new role scopes for a specialized RawModel.
No description provided by the author
No description provided by the author
No description provided by the author
ValidEndpointName validates that the string is a valid Endpoint Name.
ValidMachineName validates that the string is a valid Machine Name.
ValidName validates that the string is a valid Name.
No description provided by the author
ValidParamName validates that the string is a valid Param Name.
ValidUserName validates that the string is a valid Username.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
PoolStatuses define the valid status for Machines in the pool.
# Structs
Access holds if the object is read-only or not
swagger: model.
Action is an additional command that can be added to other Models by a Plugin.
ArchInfo tracks information required to make a BootEnv work across different system architectures.
AvailableAction is an Action that a Plugin instantiated by a PluginProvider.
BlobInfo contains information on an uploaded file or ISO.
BootEnv encapsulates the machine-agnostic information needed by the provisioner to set up a boot environment.
BootEnvOverride is used to allow a BootEnv to be customized on a per-machine basis.
BsdpBootOption contains the information needed to boot their systems using the aapl BDSP boot protocol.
Bundled holds the object's store's name
swagger: model.
CatalogItem structure that handles RawModel instead of dealing with RawModel which is how DRP is storing it.
Cert is one of the self-signed root CA entries used to secure communication between consensus cluster members.
Claim is an individial specifier for something we are allowed access to.
Minimal Cloud Init JSON needed for Fill to collect Cloud ID.
No description provided by the author
ClusterState is the overall state of a consensus cluster.
Content models a content bundle.
ContentMetaData holds all the metadata about a content bundle that dr-provision will use to decide how to treat the content bundle.
ContentSummary is a summary view of a content bundle, consisting of the content metadata, a count of each type of object the content bundle provides, and any warnings that were recorded when attempting to load the content bundle.
Context defines an alternate task execution environment for a machine.
CurrentHAState is the GlobalHaState and the NodeHaState for a particular node.
DhcpOption is a representation of a specific DHCP option.
Element define a part of the endpoint This can be a file, a pref, global profile parameter, DRP itself, content packages, plugin_providers, or plugins.
ElementAction defines an action to take on an Element.
Endpoint represents a managed Endpoint
This object is used to reflect the current state of a downstream endpoint.
Error is the common Error type the API returns for any error conditions.
Event represents an action in the system.
No description provided by the author
GlobalHaState is the consensus state shared by all members of a consensus cluster.
HaPassiveState the state of the passive node
swagger:model.
Index holds details on the index swagger:model.
Info contains information on how the running instance of dr-provision is configured.
Interface represents a network interface that is present on the server running dr-provision.
Job contains information on a Job that is running for a specific Task on a Machine.
JobAction is something that job runner will need to do.
Lease tracks DHCP leases.
License is used to authorize acess to extended dr-provision features and functionality.
LicenseBundle is a collection of Licenses.
Machine represents a single bare-metal system that the provisioner should manage the boot environment for.
No description provided by the author
No description provided by the author
NodeHaState tracks the HA state for an individual node.
NodeInfo is used to associate an URI to be used to talk to the dr-provision API for a particular Raft node.
OsInfo holds information about the operating system this BootEnv maps to.
Owned holds the info about which DRP Endpoint owns this object
swagger: model.
Param represents metadata about a Parameter or a Preference.
Partialed holds if the object is partially filled in.
Plugin represents a single instance of a running plugin.
Plugin Provider describes the available functions that could be instantiated by a plugin.
swagger:model.
* Pool defines the basics of the pool.
PoolAutoFill are rules for dynamic pool sizing.
PoolResult is the common return structure most operations.
PoolTransitionActions define the default actions that should happen to a machine upon movement through the pool.
Pref tracks a global DigitalRebar Provision preference -- things like the bootenv to use for unknown systems trying to PXE boot to us, the default bootenv for known systems, etc.
Profile represents a set of key/values to use in template expansion.
Reservation tracks persistent DHCP IP address reservations.
Role is used to determine which operations on which API endpoints are permitted.
SecureData is used to store and send access controlled Param values to the locations they are needed at.
Stage encapsulates a set of tasks and profiles to apply to a Machine in a BootEnv.
Stat contains a basic statistic about dr-provision
swagger:model.
Subnet represents a DHCP Subnet.
Task is a thing that can run on a Machine.
TaskStack contains an task stack for a machine.
Template represents a template that will be associated with a boot environment.
TemplateInfo holds information on the templates in the boot environment that will be expanded into files.
swagger:model.
User is an API user of DigitalRebar Provision swagger:model.
swagger:model.
UserToken is an auth token for a specific User.
Validation holds information about whether the current model is valid or not.
VersionSet structure that handles RawModel instead of dealing with RawModel which is how DRP is storing it.
Whoami contains the elements used toi fingerprint a machine, along with the results of the fingerprint comparison request.
No description provided by the author
Workflow contains a list of Stages.
# Interfaces
Accessor is an interface that objects that can be ReadOnly should satisfy.
Actor interface should be implemented this if you want actions.
BootEnver interface defines if the model has a boot env.
No description provided by the author
No description provided by the author
Descer interface defines if the object has a description field.
Docer interface defines if the object has a documentation field.
ErrorAdder is an interface that the various models that can collect errors for later repoting can satisfy.
Filler interface defines if a model can be filled/initialized.
No description provided by the author
Model is the interface that pretty much all non-Error objects returned by the API satisfy.
NameSetter interface if the model can change names.
model object may define a GetEndpoint() method that can be used to return the owner for the object
.
Paramer interface defines if the model has parameters.
Partialer is an interface that objects that are partially returned.
Profiler interface defines if the model has profiles.
Slicer interface defines is a model can be operated on as slices.
Tasker interface defines if the model has a task list.
TaskRunner interface defines if the object can run tasks.
No description provided by the author
model object may define a Validate method that can be used to return errors about if the model is valid in the current datatracker.
# Type aliases
Claims is a compiled list of claims from a Role.
ClaimsList is a list of Claims derived from a Role.
No description provided by the author
Meta holds information about arbitrary things.
PoolResults is dynamically built provide membership and status.
No description provided by the author
RawModel is a raw model that Plugins can specialize to save custom data in the dr-provision backing store.
No description provided by the author
No description provided by the author