package
0.4.1
Repository: https://github.com/bigcommerce/nomad.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

AllocsFit checks if a given set of allocations will fit on a node.
No description provided by the author
No description provided by the author
Helpers for copying generic structures.
No description provided by the author
No description provided by the author
Decode is used to decode a MsgPack encoded object.
DefaultLogConfig returns the default LogConfig values.
DefaultResources returns the default resources for a task.
Encode is used to encode a MsgPack object with type prefix.
EscapedConstraints takes a set of constraints and returns the set that escapes computed node classes.
FilterTerminalAllocs filters out all allocations in a terminal state.
GenerateUUID is used to generate a random UUID.
IsUniqueNamespace returns whether the key is under the unique namespace.
NewBitmap returns a bitmap with up to size indexes.
NewNetworkIndex is used to construct a new network index.
No description provided by the author
No description provided by the author
RemoveAllocs is used to remove any allocs with the given IDs from the list of allocations.
ScoreFit is used to score the fit based on the Google work published here: http://www.columbia.edu/~cs2035/courses/ieor4405.S13/datacenter_scheduling.ppt This is equivalent to their BestFit v3.
ShouldDrainNode checks if a given node status should trigger an evaluation.
UniqueNamespace takes a key and returns the key marked under the unique namespace.
ValidNodeStatus is used to check if a node status is valid.

# 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
Allocation should stop, and was evicted.
Allocation should run.
Allocation should stop.
No description provided by the author
ApiMajorVersion is returned as part of the Status.Version request.
No description provided by the author
ApiMinorVersion is returned as part of the Status.Version request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CoreJobEvalGC is used for the garbage collection of evaluations and allocations.
CoreJobForceGC is used to force garbage collection of all GCable objects.
CoreJobJobGC is used for the garbage collection of eligible jobs.
CoreJobNodeGC is used for the garbage collection of failed nodes.
Ensure CoreJobPriority is higher than any user specified job so that it gets priority.
DefaultKillTimeout is the default timeout between signaling a task it will be killed and killing it.
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
IgnoreUnknownTypeFlag is set along with a MessageType to indicate that the message type can be safely ignored if it is not recognized.
JobDefaultPriority is the default priority if not not specified.
No description provided by the author
JobMaxPriority is the maximum allowed priority.
JobMinPriority is the minimum allowed priority.
No description provided by the author
Dead means all evaluation's and allocations are terminal.
Pending means the job is waiting on scheduling.
Running means the job has non-terminal allocations.
No description provided by the author
JobTypeNomad is reserved for internal system tasks and is always handled by the CoreScheduler.
No description provided by the author
No description provided by the author
MaxDynamicPort is the largest dynamic port generated.
MinDynamicPort is the smallest dynamic port generated.
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
NodeUniqueNamespace is a prefix that can be appended to node meta or attribute keys to mark them for exclusion in computed node class.
No description provided by the author
No description provided by the author
PeriodicLaunchSuffix is the string appended to the periodic jobs ID when launching derived instances of it.
PeriodicSpecCron is used for a cron spec.
PeriodicSpecTest is only used by unit tests.
No description provided by the author
No description provided by the author
RestartPolicyModeDelay causes an artificial delay till the next interval is reached when the specified attempts have been reached in the interval.
RestartPolicyModeFail causes a job to fail if the specified number of attempts are reached within an interval.
TODO add Consul TTL check.
No description provided by the author
No description provided by the author
TaskArtifactDownloadFailed indicates that downloading the artifacts failed.
TaskDownloadingArtifacts means the task is downloading the artifacts specified in the task.
TaskDriveFailure indicates that the task could not be started due to a failure in the driver.
TaskFailedValidation indicates the task was invalid and as such was not run.
TaskKilled indicates a user has killed the task.
TaskKilling indicates a kill signal has been sent to the task.
TaskNotRestarting indicates that the task has failed and is not being restarted because it has exceeded its restart policy.
TaskReceived signals that the task has been pulled by the client at the given timestamp.
TaskRestarting indicates that task terminated and is being restarted.
TaskStarted signals that the task was started and its timestamp can be used to determine the running length of the task.
Terminal state of task.
The task is waiting to be run.
The task is currently running.
TaskTerminated indicates that the task was started and exited.

# Variables

AllocationIndexRegex is a regular expression to find the allocation index.
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
msgpackHandle is a shared handle for encoding/decoding of structs.

# Structs

Allocation is used to allocate the placement of a task group to a node.
AllocListRequest is used to request a list of allocations.
AllocListResponse is used for a list request.
AllocListStub is used to return a subset of alloc information.
AllocMetric is used to track various metrics while attempting to make an allocation.
AllocsGetRequest is used to query a set of allocations.
AllocsGetResponse is used to return a set of allocations.
AllocSpecificRequest is used to query a specific allocation.
AllocUpdateRequest is used to submit changes to allocations, either to cause evictions or to assign new allocaitons.
Constraints are used to restrict placement options.
DesiredUpdates is the set of changes the scheduler would like to make given sufficient resources and cluster capacity.
EvalAckRequest is used to Ack/Nack a specific evaluation.
EvalAllocationsResponse is used to return the allocations for an evaluation.
EvalDeleteRequest is used for deleting an evaluation.
EvalDequeueRequest is used when we want to dequeue an evaluation.
EvalDequeueResponse is used to return from a dequeue.
EvalListRequest is used to list the evaluations.
EvalListResponse is used for a list request.
EvalSpecificRequest is used when we just need to specify a target evaluation.
Evaluation is used anytime we need to apply business logic as a result of a change to our desired state (job specification) or the emergent state (registered nodes).
EvalUpdateRequest is used for upserting evaluations.
No description provided by the author
GenericRequest is used to request where no specific information is needed.
GenericResponse is used to respond to a request where no specific response information is needed.
Job is the scope of a scheduling request to Nomad.
JobAllocationsResponse is used to return the allocations for a job.
JobDeregisterRequest is used for Job.Deregister endpoint to deregister a job as being a schedulable entity.
JobDeregisterResponse is used to respond to a job deregistration.
JobDiff contains the diff of two jobs.
JobEvaluateRequest is used when we just need to re-evaluate a target job.
JobEvaluationsResponse is used to return the evaluations for a job.
JobListRequest is used to parameterize a list request.
JobListResponse is used for a list request.
JobListStub is used to return a subset of job information for the job list.
JobPlanRequest is used for the Job.Plan endpoint to trigger a dry-run evaluation of the Job.
JobPlanResponse is used to respond to a job plan request.
JobRegisterRequest is used for Job.Register endpoint to register a job as being a schedulable entity.
JobRegisterResponse is used to respond to a job registration.
JobSpecificRequest is used when we just need to specify a target job.
JobSummary summarizes the state of the allocations of a job.
JobSummaryRequest is used when we just need to get a specific job summary.
JobSummaryResponse is used to return a single job summary.
LogConfig provides configuration for log rotation.
NetworkIndex is used to index the available network resources and the used network resources on a machine given allocations.
NetworkResource is used to represent available network resources.
Node is a representation of a schedulable client node.
NodeAllocsResponse is used to return allocs for a single node.
NodeClientAllocsResponse is used to return allocs meta data for a single node.
NodeDeregisterRequest is used for Node.Deregister endpoint to deregister a node as being a schedulable entity.
NodeDrainUpdateResponse is used to respond to a node drain update.
NodeEvaluateRequest is used to re-evaluate the ndoe.
NodeListRequest is used to parameterize a list request.
JobListResponse is used for a list request.
NodeListStub is used to return a subset of job information for the job list.
NodeRegisterRequest is used for Node.Register endpoint to register a node as being a schedulable entity.
NodeServerInfo is used to in NodeUpdateResponse to return Nomad server information used in RPC server lists.
NodeSpecificRequest is used when we just need to specify a target node.
NodeUpdateDrainRequest is used for updatin the drain status.
NodeUpdateResponse is used to respond to a node update.
NodeUpdateStatusRequest is used for Node.UpdateStatus endpoint to update the status of a node.
ObjectDiff contains the diff of two generic objects.
Periodic defines the interval a job should be run at.
PeriodicForceReqeuest is used to force a specific periodic job.
PeriodicForceResponse is used to respond to a periodic job force launch.
PeriodicLaunch tracks the last launch time of a periodic job.
Plan is used to submit a commit plan for task allocations.
PlanAnnotations holds annotations made by the scheduler to give further debug information to operators.
PlanRequest is used to submit an allocation plan to the leader.
PlanResponse is used to return from a PlanRequest.
PlanResult is the result of a plan submitted to the leader.
No description provided by the author
QueryMeta allows a query response to include potentially useful metadata about a query.
QueryOptions is used to specify various flags for read queries.
Resources is used to define the resources available on a client.
RestartPolicy configures how Tasks are restarted when they crash or fail.
Service represents a Consul service definition in Nomad.
The ServiceCheck data model represents the consul health check that Nomad registers for a Task.
SingleAllocResponse is used to return a single allocation.
SingleEvalResponse is used to return a single evaluation.
SingleJobResponse is used to return a single job.
SingleNodeResponse is used to return a single node.
Task is a single process typically that is executed as part of a task group.
TaskArtifact is an artifact to download before running the task.
TaskDiff contains the diff of two Tasks.
TaskEvent is an event that effects the state of a task and contains meta-data appropriate to the events type.
TaskGroup is an atomic unit of placement.
TaskGroupDiff contains the diff of two task groups.
TaskGroup summarizes the state of all the allocations of a particular TaskGroup.
TaskState tracks the current state of a task and events that caused state transitions.
UpdateStrategy is used to modify how updates are done.
VersionResponse is used for the Status.Version reseponse.
WriteMeta allows a write response to include potentially useful metadata about the write.
No description provided by the author

# Interfaces

RPCInfo is used to describe common information about query.

# Type aliases

Bitmap is a simple uncompressed bitmap.
DiffType denotes the type of a diff object.
For sorting FieldDiffs.
No description provided by the author
For sorting ObjectDiffs.
For sorting TaskDiffs.
For sorting TaskGroupDiffs.