package v1alpha1

import "k8s.io/client-go/applyconfigurations/scheduling/v1alpha1"

Index

Types

type GangSchedulingPolicyApplyConfiguration

type GangSchedulingPolicyApplyConfiguration struct {
	// MinCount is the minimum number of pods that must be schedulable or scheduled
	// at the same time for the scheduler to admit the entire group.
	// It must be a positive integer.
	MinCount *int32 `json:"minCount,omitempty"`
}

GangSchedulingPolicyApplyConfiguration represents a declarative configuration of the GangSchedulingPolicy type for use with apply.

GangSchedulingPolicy defines the parameters for gang scheduling.

func GangSchedulingPolicy

func GangSchedulingPolicy() *GangSchedulingPolicyApplyConfiguration

GangSchedulingPolicyApplyConfiguration constructs a declarative configuration of the GangSchedulingPolicy type for use with apply.

func (*GangSchedulingPolicyApplyConfiguration) WithMinCount

WithMinCount sets the MinCount field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the MinCount field is set to the value of the last call.

type PodGroupApplyConfiguration

type PodGroupApplyConfiguration struct {
	// Name is a unique identifier for the PodGroup within the Workload.
	// It must be a DNS label. This field is immutable.
	Name *string `json:"name,omitempty"`
	// Policy defines the scheduling policy for this PodGroup.
	Policy *PodGroupPolicyApplyConfiguration `json:"policy,omitempty"`
}

PodGroupApplyConfiguration represents a declarative configuration of the PodGroup type for use with apply.

PodGroup represents a set of pods with a common scheduling policy.

func PodGroup

func PodGroup() *PodGroupApplyConfiguration

PodGroupApplyConfiguration constructs a declarative configuration of the PodGroup type for use with apply.

func (*PodGroupApplyConfiguration) WithName

WithName sets the Name field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Name field is set to the value of the last call.

func (*PodGroupApplyConfiguration) WithPolicy

WithPolicy sets the Policy field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Policy field is set to the value of the last call.

type PodGroupPolicyApplyConfiguration

type PodGroupPolicyApplyConfiguration struct {
	// Basic specifies that the pods in this group should be scheduled using
	// standard Kubernetes scheduling behavior.
	Basic *schedulingv1alpha1.BasicSchedulingPolicy `json:"basic,omitempty"`
	// Gang specifies that the pods in this group should be scheduled using
	// all-or-nothing semantics.
	Gang *GangSchedulingPolicyApplyConfiguration `json:"gang,omitempty"`
}

PodGroupPolicyApplyConfiguration represents a declarative configuration of the PodGroupPolicy type for use with apply.

PodGroupPolicy defines the scheduling configuration for a PodGroup.

func PodGroupPolicy

func PodGroupPolicy() *PodGroupPolicyApplyConfiguration

PodGroupPolicyApplyConfiguration constructs a declarative configuration of the PodGroupPolicy type for use with apply.

func (*PodGroupPolicyApplyConfiguration) WithBasic

WithBasic sets the Basic field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Basic field is set to the value of the last call.

func (*PodGroupPolicyApplyConfiguration) WithGang

WithGang sets the Gang field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Gang field is set to the value of the last call.

type PriorityClassApplyConfiguration

type PriorityClassApplyConfiguration struct {
	v1.TypeMetaApplyConfiguration `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
	// value represents the integer value of this priority class. This is the actual priority that pods
	// receive when they have the name of this class in their pod spec.
	Value *int32 `json:"value,omitempty"`
	// globalDefault specifies whether this PriorityClass should be considered as
	// the default priority for pods that do not have any priority class.
	// Only one PriorityClass can be marked as `globalDefault`. However, if more than
	// one PriorityClasses exists with their `globalDefault` field set to true,
	// the smallest value of such global default PriorityClasses will be used as the default priority.
	GlobalDefault *bool `json:"globalDefault,omitempty"`
	// description is an arbitrary string that usually provides guidelines on
	// when this priority class should be used.
	Description *string `json:"description,omitempty"`
	// preemptionPolicy is the Policy for preempting pods with lower priority.
	// One of Never, PreemptLowerPriority.
	// Defaults to PreemptLowerPriority if unset.
	PreemptionPolicy *corev1.PreemptionPolicy `json:"preemptionPolicy,omitempty"`
}

PriorityClassApplyConfiguration represents a declarative configuration of the PriorityClass type for use with apply.

DEPRECATED - This group version of PriorityClass is deprecated by scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name to the priority integer value. The value can be any valid integer.

func ExtractPriorityClass

func ExtractPriorityClass(priorityClass *schedulingv1alpha1.PriorityClass, fieldManager string) (*PriorityClassApplyConfiguration, error)

ExtractPriorityClass extracts the applied configuration owned by fieldManager from priorityClass. If no managedFields are found in priorityClass for fieldManager, a PriorityClassApplyConfiguration is returned with only the Name, Namespace (if applicable), APIVersion and Kind populated. It is possible that no managed fields were found for because other field managers have taken ownership of all the fields previously owned by fieldManager, or because the fieldManager never owned fields any fields. priorityClass must be a unmodified PriorityClass API object that was retrieved from the Kubernetes API. ExtractPriorityClass provides a way to perform a extract/modify-in-place/apply workflow. Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously applied if another fieldManager has updated or force applied any of the previously applied fields.

func ExtractPriorityClassFrom

func ExtractPriorityClassFrom(priorityClass *schedulingv1alpha1.PriorityClass, fieldManager string, subresource string) (*PriorityClassApplyConfiguration, error)

ExtractPriorityClassFrom extracts the applied configuration owned by fieldManager from priorityClass for the specified subresource. Pass an empty string for subresource to extract the main resource. Common subresources include "status", "scale", etc. priorityClass must be a unmodified PriorityClass API object that was retrieved from the Kubernetes API. ExtractPriorityClassFrom provides a way to perform a extract/modify-in-place/apply workflow. Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously applied if another fieldManager has updated or force applied any of the previously applied fields.

func PriorityClass

func PriorityClass(name string) *PriorityClassApplyConfiguration

PriorityClass constructs a declarative configuration of the PriorityClass type for use with apply.

func (*PriorityClassApplyConfiguration) GetAPIVersion

func (b *PriorityClassApplyConfiguration) GetAPIVersion() *string

GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration.

func (*PriorityClassApplyConfiguration) GetKind

GetKind retrieves the value of the Kind field in the declarative configuration.

func (*PriorityClassApplyConfiguration) GetName

GetName retrieves the value of the Name field in the declarative configuration.

func (*PriorityClassApplyConfiguration) GetNamespace

func (b *PriorityClassApplyConfiguration) GetNamespace() *string

GetNamespace retrieves the value of the Namespace field in the declarative configuration.

func (PriorityClassApplyConfiguration) IsApplyConfiguration

func (b PriorityClassApplyConfiguration) IsApplyConfiguration()

func (*PriorityClassApplyConfiguration) WithAPIVersion

WithAPIVersion sets the APIVersion field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the APIVersion field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithAnnotations

WithAnnotations puts the entries into the Annotations field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, the entries provided by each call will be put on the Annotations field, overwriting an existing map entries in Annotations field with the same key.

func (*PriorityClassApplyConfiguration) WithCreationTimestamp

WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the CreationTimestamp field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithDeletionGracePeriodSeconds

func (b *PriorityClassApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PriorityClassApplyConfiguration

WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithDeletionTimestamp

WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the DeletionTimestamp field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithDescription

WithDescription sets the Description field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Description field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithFinalizers

WithFinalizers adds the given value to the Finalizers field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, values provided by each call will be appended to the Finalizers field.

func (*PriorityClassApplyConfiguration) WithGenerateName

WithGenerateName sets the GenerateName field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the GenerateName field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithGeneration

WithGeneration sets the Generation field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Generation field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithGlobalDefault

WithGlobalDefault sets the GlobalDefault field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the GlobalDefault field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithKind

WithKind sets the Kind field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Kind field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithLabels

WithLabels puts the entries into the Labels field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, the entries provided by each call will be put on the Labels field, overwriting an existing map entries in Labels field with the same key.

func (*PriorityClassApplyConfiguration) WithName

WithName sets the Name field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Name field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithNamespace

WithNamespace sets the Namespace field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Namespace field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithOwnerReferences

WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, values provided by each call will be appended to the OwnerReferences field.

func (*PriorityClassApplyConfiguration) WithPreemptionPolicy

WithPreemptionPolicy sets the PreemptionPolicy field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the PreemptionPolicy field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithResourceVersion

WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the ResourceVersion field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithUID

WithUID sets the UID field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the UID field is set to the value of the last call.

func (*PriorityClassApplyConfiguration) WithValue

WithValue sets the Value field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Value field is set to the value of the last call.

type TypedLocalObjectReferenceApplyConfiguration

type TypedLocalObjectReferenceApplyConfiguration struct {
	// APIGroup is the group for the resource being referenced.
	// If APIGroup is empty, the specified Kind must be in the core API group.
	// For any other third-party types, setting APIGroup is required.
	// It must be a DNS subdomain.
	APIGroup *string `json:"apiGroup,omitempty"`
	// Kind is the type of resource being referenced.
	// It must be a path segment name.
	Kind *string `json:"kind,omitempty"`
	// Name is the name of resource being referenced.
	// It must be a path segment name.
	Name *string `json:"name,omitempty"`
}

TypedLocalObjectReferenceApplyConfiguration represents a declarative configuration of the TypedLocalObjectReference type for use with apply.

TypedLocalObjectReference allows to reference typed object inside the same namespace.

func TypedLocalObjectReference

func TypedLocalObjectReference() *TypedLocalObjectReferenceApplyConfiguration

TypedLocalObjectReferenceApplyConfiguration constructs a declarative configuration of the TypedLocalObjectReference type for use with apply.

func (*TypedLocalObjectReferenceApplyConfiguration) WithAPIGroup

WithAPIGroup sets the APIGroup field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the APIGroup field is set to the value of the last call.

func (*TypedLocalObjectReferenceApplyConfiguration) WithKind

WithKind sets the Kind field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Kind field is set to the value of the last call.

func (*TypedLocalObjectReferenceApplyConfiguration) WithName

WithName sets the Name field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Name field is set to the value of the last call.

type WorkloadApplyConfiguration

type WorkloadApplyConfiguration struct {
	v1.TypeMetaApplyConfiguration `json:",inline"`
	// Standard object's metadata.
	// Name must be a DNS subdomain.
	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
	// Spec defines the desired behavior of a Workload.
	Spec *WorkloadSpecApplyConfiguration `json:"spec,omitempty"`
}

WorkloadApplyConfiguration represents a declarative configuration of the Workload type for use with apply.

Workload allows for expressing scheduling constraints that should be used when managing lifecycle of workloads from scheduling perspective, including scheduling, preemption, eviction and other phases.

func ExtractWorkload

func ExtractWorkload(workload *schedulingv1alpha1.Workload, fieldManager string) (*WorkloadApplyConfiguration, error)

ExtractWorkload extracts the applied configuration owned by fieldManager from workload. If no managedFields are found in workload for fieldManager, a WorkloadApplyConfiguration is returned with only the Name, Namespace (if applicable), APIVersion and Kind populated. It is possible that no managed fields were found for because other field managers have taken ownership of all the fields previously owned by fieldManager, or because the fieldManager never owned fields any fields. workload must be a unmodified Workload API object that was retrieved from the Kubernetes API. ExtractWorkload provides a way to perform a extract/modify-in-place/apply workflow. Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously applied if another fieldManager has updated or force applied any of the previously applied fields.

func ExtractWorkloadFrom

func ExtractWorkloadFrom(workload *schedulingv1alpha1.Workload, fieldManager string, subresource string) (*WorkloadApplyConfiguration, error)

ExtractWorkloadFrom extracts the applied configuration owned by fieldManager from workload for the specified subresource. Pass an empty string for subresource to extract the main resource. Common subresources include "status", "scale", etc. workload must be a unmodified Workload API object that was retrieved from the Kubernetes API. ExtractWorkloadFrom provides a way to perform a extract/modify-in-place/apply workflow. Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously applied if another fieldManager has updated or force applied any of the previously applied fields.

func Workload

func Workload(name, namespace string) *WorkloadApplyConfiguration

Workload constructs a declarative configuration of the Workload type for use with apply.

func (*WorkloadApplyConfiguration) GetAPIVersion

func (b *WorkloadApplyConfiguration) GetAPIVersion() *string

GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration.

func (*WorkloadApplyConfiguration) GetKind

func (b *WorkloadApplyConfiguration) GetKind() *string

GetKind retrieves the value of the Kind field in the declarative configuration.

func (*WorkloadApplyConfiguration) GetName

func (b *WorkloadApplyConfiguration) GetName() *string

GetName retrieves the value of the Name field in the declarative configuration.

func (*WorkloadApplyConfiguration) GetNamespace

func (b *WorkloadApplyConfiguration) GetNamespace() *string

GetNamespace retrieves the value of the Namespace field in the declarative configuration.

func (WorkloadApplyConfiguration) IsApplyConfiguration

func (b WorkloadApplyConfiguration) IsApplyConfiguration()

func (*WorkloadApplyConfiguration) WithAPIVersion

WithAPIVersion sets the APIVersion field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the APIVersion field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithAnnotations

func (b *WorkloadApplyConfiguration) WithAnnotations(entries map[string]string) *WorkloadApplyConfiguration

WithAnnotations puts the entries into the Annotations field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, the entries provided by each call will be put on the Annotations field, overwriting an existing map entries in Annotations field with the same key.

func (*WorkloadApplyConfiguration) WithCreationTimestamp

func (b *WorkloadApplyConfiguration) WithCreationTimestamp(value metav1.Time) *WorkloadApplyConfiguration

WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the CreationTimestamp field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithDeletionGracePeriodSeconds

func (b *WorkloadApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *WorkloadApplyConfiguration

WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithDeletionTimestamp

func (b *WorkloadApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *WorkloadApplyConfiguration

WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the DeletionTimestamp field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithFinalizers

func (b *WorkloadApplyConfiguration) WithFinalizers(values ...string) *WorkloadApplyConfiguration

WithFinalizers adds the given value to the Finalizers field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, values provided by each call will be appended to the Finalizers field.

func (*WorkloadApplyConfiguration) WithGenerateName

func (b *WorkloadApplyConfiguration) WithGenerateName(value string) *WorkloadApplyConfiguration

WithGenerateName sets the GenerateName field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the GenerateName field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithGeneration

WithGeneration sets the Generation field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Generation field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithKind

WithKind sets the Kind field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Kind field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithLabels

WithLabels puts the entries into the Labels field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, the entries provided by each call will be put on the Labels field, overwriting an existing map entries in Labels field with the same key.

func (*WorkloadApplyConfiguration) WithName

WithName sets the Name field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Name field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithNamespace

WithNamespace sets the Namespace field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Namespace field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithOwnerReferences

WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, values provided by each call will be appended to the OwnerReferences field.

func (*WorkloadApplyConfiguration) WithResourceVersion

func (b *WorkloadApplyConfiguration) WithResourceVersion(value string) *WorkloadApplyConfiguration

WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the ResourceVersion field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithSpec

WithSpec sets the Spec field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the Spec field is set to the value of the last call.

func (*WorkloadApplyConfiguration) WithUID

WithUID sets the UID field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the UID field is set to the value of the last call.

type WorkloadSpecApplyConfiguration

type WorkloadSpecApplyConfiguration struct {
	// ControllerRef is an optional reference to the controlling object, such as a
	// Deployment or Job. This field is intended for use by tools like CLIs
	// to provide a link back to the original workload definition.
	// When set, it cannot be changed.
	ControllerRef *TypedLocalObjectReferenceApplyConfiguration `json:"controllerRef,omitempty"`
	// PodGroups is the list of pod groups that make up the Workload.
	// The maximum number of pod groups is 8. This field is immutable.
	PodGroups []PodGroupApplyConfiguration `json:"podGroups,omitempty"`
}

WorkloadSpecApplyConfiguration represents a declarative configuration of the WorkloadSpec type for use with apply.

WorkloadSpec defines the desired state of a Workload.

func WorkloadSpec

func WorkloadSpec() *WorkloadSpecApplyConfiguration

WorkloadSpecApplyConfiguration constructs a declarative configuration of the WorkloadSpec type for use with apply.

func (*WorkloadSpecApplyConfiguration) WithControllerRef

WithControllerRef sets the ControllerRef field in the declarative configuration to the given value and returns the receiver, so that objects can be built by chaining "With" function invocations. If called multiple times, the ControllerRef field is set to the value of the last call.

func (*WorkloadSpecApplyConfiguration) WithPodGroups

WithPodGroups adds the given value to the PodGroups field in the declarative configuration and returns the receiver, so that objects can be build by chaining "With" function invocations. If called multiple times, values provided by each call will be appended to the PodGroups field.

Source Files

gangschedulingpolicy.go podgroup.go podgrouppolicy.go priorityclass.go typedlocalobjectreference.go workload.go workloadspec.go

Version
v0.36.0-alpha.2
Published
Feb 26, 2026
Platform
linux/amd64
Imports
7 packages
Last checked
2 minutes ago

Tools for package owners.