Documentation ¶
Index ¶
- Constants
- Variables
- func DaemonSet(overrides ...DaemonSetOptions) *appsv1.DaemonSet
- func Deployment(overrides ...DeploymentOptions) *appsv1.Deployment
- func MustMerge[T interface{}](dest T, srcs ...T) T
- func Namespace(overrides ...NamespaceOptions) *corev1.Namespace
- func NamespacedObjectMeta(overrides ...metav1.ObjectMeta) metav1.ObjectMeta
- func Node(overrides ...NodeOptions) *v1.Node
- func NodeClaim(overrides ...v1beta1.NodeClaim) *v1beta1.NodeClaim
- func NodeClaimAndNode(overrides ...v1beta1.NodeClaim) (*v1beta1.NodeClaim, *v1.Node)
- func NodeClaimFieldIndexer(ctx context.Context) func(cache.Cache) error
- func NodeClaimLinkedNode(nodeClaim *v1beta1.NodeClaim) *v1.Node
- func NodeClaimsAndNodes(total int, options ...v1beta1.NodeClaim) ([]*v1beta1.NodeClaim, []*v1.Node)
- func NodePool(overrides ...v1beta1.NodePool) *v1beta1.NodePool
- func NodePools(total int, options ...v1beta1.NodePool) []*v1beta1.NodePool
- func ObjectMeta(overrides ...metav1.ObjectMeta) metav1.ObjectMeta
- func Options(overrides ...OptionsFields) *options.Options
- func PersistentVolume(overrides ...PersistentVolumeOptions) *v1.PersistentVolume
- func PersistentVolumeClaim(overrides ...PersistentVolumeClaimOptions) *v1.PersistentVolumeClaim
- func Pod(overrides ...PodOptions) *v1.Pod
- func PodDisruptionBudget(overrides ...PDBOptions) *policyv1.PodDisruptionBudget
- func Pods(total int, options ...PodOptions) []*v1.Pod
- func ProviderID(base string) string
- func RandomName() string
- func RandomProviderID() string
- func ReplaceRequirements(nodePool *v1beta1.NodePool, ...) *v1beta1.NodePool
- func ReplicaSet(overrides ...ReplicaSetOptions) *appsv1.ReplicaSet
- func StatefulSet(overrides ...StatefulSetOptions) *appsv1.StatefulSet
- func StorageClass(overrides ...StorageClassOptions) *storagev1.StorageClass
- func TemplateObjectMeta(overrides ...v1beta1.ObjectMeta) v1beta1.ObjectMeta
- func UnschedulablePod(options ...PodOptions) *v1.Pod
- func UnschedulablePods(options PodOptions, num int) []*v1.Pod
- func WithCRDs(crds ...*v1.CustomResourceDefinition) functional.Option[EnvironmentOptions]
- func WithFieldIndexers(fieldIndexers ...func(cache.Cache) error) functional.Option[EnvironmentOptions]
- type CacheSyncingClient
- func (c *CacheSyncingClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
- func (c *CacheSyncingClient) Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
- func (c *CacheSyncingClient) DeleteAllOf(ctx context.Context, obj client.Object, opts ...client.DeleteAllOfOption) error
- func (c *CacheSyncingClient) Patch(ctx context.Context, obj client.Object, patch client.Patch, ...) error
- func (c *CacheSyncingClient) Status() client.StatusWriter
- func (c *CacheSyncingClient) Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error
- type DaemonSetOptions
- type DeploymentOptions
- type Environment
- type EnvironmentOptions
- type EphemeralVolumeTemplateOptions
- type EventRecorder
- func (e *EventRecorder) Calls(reason string) int
- func (e *EventRecorder) DetectedEvent(msg string) bool
- func (e *EventRecorder) Events() (res []events.Event)
- func (e *EventRecorder) ForEachEvent(f func(evt events.Event))
- func (e *EventRecorder) Publish(evts ...events.Event)
- func (e *EventRecorder) Reset()
- type FeatureGates
- type NamespaceOptions
- type NodeOptions
- type OptionsFields
- type PDBOptions
- type PersistentVolumeClaimOptions
- type PersistentVolumeOptions
- type PodOptions
- type ReplicaSetOptions
- type StatefulSetOptions
- type StorageClassOptions
Constants ¶
const DiscoveryLabel = "testing/cluster"
Variables ¶
var (
DefaultImage = "public.ecr.aws/eks-distro/kubernetes/pause:3.2"
)
Functions ¶
func DaemonSet ¶
func DaemonSet(overrides ...DaemonSetOptions) *appsv1.DaemonSet
DaemonSet creates a test pod with defaults that can be overridden by DaemonSetOptions. Overrides are applied in order, with a last write wins semantic.
func Deployment ¶
func Deployment(overrides ...DeploymentOptions) *appsv1.Deployment
func Namespace ¶
func Namespace(overrides ...NamespaceOptions) *corev1.Namespace
Namespace creates a Namespace.
func NamespacedObjectMeta ¶
func NamespacedObjectMeta(overrides ...metav1.ObjectMeta) metav1.ObjectMeta
func Node ¶
func Node(overrides ...NodeOptions) *v1.Node
func NodeClaim ¶
NodeClaim creates a test NodeClaim with defaults that can be overridden by overrides. Overrides are applied in order, with a last write wins semantic.
func NodeClaimAndNode ¶
func NodeClaimFieldIndexer ¶
func NodeClaimsAndNodes ¶
NodeClaimsAndNodes creates homogeneous groups of NodeClaims and Nodes based on the passed in options, evenly divided by the total nodeclaims requested
func NodePool ¶
NodePool creates a test NodePool with defaults that can be overridden by overrides. Overrides are applied in order, with a last write wins semantic.
func NodePools ¶ added in v0.34.0
NodePools creates homogeneous groups of NodePools based on the passed in options, evenly divided by the total NodePools requested
func ObjectMeta ¶
func ObjectMeta(overrides ...metav1.ObjectMeta) metav1.ObjectMeta
func Options ¶
func Options(overrides ...OptionsFields) *options.Options
func PersistentVolume ¶
func PersistentVolume(overrides ...PersistentVolumeOptions) *v1.PersistentVolume
func PersistentVolumeClaim ¶
func PersistentVolumeClaim(overrides ...PersistentVolumeClaimOptions) *v1.PersistentVolumeClaim
func Pod ¶
func Pod(overrides ...PodOptions) *v1.Pod
Pod creates a test pod with defaults that can be overridden by PodOptions. Overrides are applied in order, with a last write wins semantic. nolint:gocyclo
func PodDisruptionBudget ¶
func PodDisruptionBudget(overrides ...PDBOptions) *policyv1.PodDisruptionBudget
PodDisruptionBudget creates a PodDisruptionBudget. To function properly, it should have its status applied
func Pods ¶
func Pods(total int, options ...PodOptions) []*v1.Pod
Pods creates homogeneous groups of pods based on the passed in options, evenly divided by the total pods requested
func ProviderID ¶
func RandomName ¶
func RandomName() string
func RandomProviderID ¶
func RandomProviderID() string
func ReplaceRequirements ¶
func ReplaceRequirements(nodePool *v1beta1.NodePool, reqs ...v1beta1.NodeSelectorRequirementWithMinValues) *v1beta1.NodePool
ReplaceRequirements any current requirements on the passed through NodePool with the passed in requirements If any of the keys match between the existing requirements and the new requirements, the new requirement with the same key will replace the old requirement with that key
func ReplicaSet ¶
func ReplicaSet(overrides ...ReplicaSetOptions) *appsv1.ReplicaSet
ReplicaSet creates a test ReplicaSet with defaults that can be overridden by ReplicaSetOptions. Overrides are applied in order, with a last write wins semantic.
func StatefulSet ¶ added in v0.33.3
func StatefulSet(overrides ...StatefulSetOptions) *appsv1.StatefulSet
func StorageClass ¶
func StorageClass(overrides ...StorageClassOptions) *storagev1.StorageClass
func TemplateObjectMeta ¶
func TemplateObjectMeta(overrides ...v1beta1.ObjectMeta) v1beta1.ObjectMeta
func UnschedulablePod ¶
func UnschedulablePod(options ...PodOptions) *v1.Pod
UnschedulablePod creates a test pod with a pending scheduling status condition
func UnschedulablePods ¶
func UnschedulablePods(options PodOptions, num int) []*v1.Pod
UnschedulablePods returns slice of configurable length of identical test pods with a pending scheduling status condition
func WithCRDs ¶
func WithCRDs(crds ...*v1.CustomResourceDefinition) functional.Option[EnvironmentOptions]
WithCRDs registers the specified CRDs to the apiserver for use in testing
func WithFieldIndexers ¶
func WithFieldIndexers(fieldIndexers ...func(cache.Cache) error) functional.Option[EnvironmentOptions]
WithFieldIndexers expects a function that indexes fields against the cache such as cache.IndexField(...)
Types ¶
type CacheSyncingClient ¶
CacheSyncingClient exists for tests that need to use custom fieldSelectors (thus, they need a client cache) and also need consistency in their testing by waiting for caches to sync after performing WRITE operations NOTE: This cache sync doesn't sync with third-party operations on the api-server
func (*CacheSyncingClient) Create ¶
func (c *CacheSyncingClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
func (*CacheSyncingClient) Delete ¶
func (c *CacheSyncingClient) Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
func (*CacheSyncingClient) DeleteAllOf ¶
func (c *CacheSyncingClient) DeleteAllOf(ctx context.Context, obj client.Object, opts ...client.DeleteAllOfOption) error
func (*CacheSyncingClient) Patch ¶
func (c *CacheSyncingClient) Patch(ctx context.Context, obj client.Object, patch client.Patch, opts ...client.PatchOption) error
func (*CacheSyncingClient) Status ¶
func (c *CacheSyncingClient) Status() client.StatusWriter
func (*CacheSyncingClient) Update ¶
func (c *CacheSyncingClient) Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error
type DaemonSetOptions ¶
type DaemonSetOptions struct { metav1.ObjectMeta Selector map[string]string PodOptions PodOptions }
DaemonSetOptions customizes a DaemonSet.
type DeploymentOptions ¶
type DeploymentOptions struct { metav1.ObjectMeta Labels map[string]string Replicas int32 PodOptions PodOptions }
type Environment ¶
type Environment struct { envtest.Environment Client client.Client KubernetesInterface kubernetes.Interface Version *version.Version Done chan struct{} Cancel context.CancelFunc }
func NewEnvironment ¶
func NewEnvironment(scheme *runtime.Scheme, options ...functional.Option[EnvironmentOptions]) *Environment
func (*Environment) Stop ¶
func (e *Environment) Stop() error
type EnvironmentOptions ¶
type EnvironmentOptions struct {
// contains filtered or unexported fields
}
type EphemeralVolumeTemplateOptions ¶
type EphemeralVolumeTemplateOptions struct {
StorageClassName *string
}
type EventRecorder ¶
type EventRecorder struct {
// contains filtered or unexported fields
}
EventRecorder is a mock event recorder that is used to facilitate testing.
func NewEventRecorder ¶
func NewEventRecorder() *EventRecorder
func (*EventRecorder) Calls ¶
func (e *EventRecorder) Calls(reason string) int
func (*EventRecorder) DetectedEvent ¶
func (e *EventRecorder) DetectedEvent(msg string) bool
func (*EventRecorder) Events ¶
func (e *EventRecorder) Events() (res []events.Event)
func (*EventRecorder) ForEachEvent ¶
func (e *EventRecorder) ForEachEvent(f func(evt events.Event))
func (*EventRecorder) Publish ¶
func (e *EventRecorder) Publish(evts ...events.Event)
func (*EventRecorder) Reset ¶
func (e *EventRecorder) Reset()
type FeatureGates ¶
type NamespaceOptions ¶
type NamespaceOptions struct {
metav1.ObjectMeta
}
PodOptions customizes a Pod.
type NodeOptions ¶
type NodeOptions struct { metav1.ObjectMeta ReadyStatus v1.ConditionStatus ReadyReason string Conditions []v1.NodeCondition Unschedulable bool ProviderID string Taints []v1.Taint Allocatable v1.ResourceList Capacity v1.ResourceList }
type OptionsFields ¶
type OptionsFields struct { // Vendor Neutral ServiceName *string DisableWebhook *bool WebhookPort *int MetricsPort *int WebhookMetricsPort *int HealthProbePort *int KubeClientQPS *int KubeClientBurst *int EnableProfiling *bool EnableLeaderElection *bool MemoryLimit *int64 LogLevel *string BatchMaxDuration *time.Duration BatchIdleDuration *time.Duration FeatureGates FeatureGates }
type PDBOptions ¶
type PDBOptions struct { metav1.ObjectMeta Labels map[string]string MinAvailable *intstr.IntOrString Status *policyv1.PodDisruptionBudgetStatus }
type PersistentVolumeClaimOptions ¶
type PersistentVolumeClaimOptions struct { metav1.ObjectMeta StorageClassName *string VolumeName string Resources v1.VolumeResourceRequirements }
type PersistentVolumeOptions ¶
type PodOptions ¶
type PodOptions struct { metav1.ObjectMeta Image string NodeName string Overhead v1.ResourceList PriorityClassName string InitContainers []v1.Container ResourceRequirements v1.ResourceRequirements NodeSelector map[string]string NodeRequirements []v1.NodeSelectorRequirement NodePreferences []v1.NodeSelectorRequirement PodRequirements []v1.PodAffinityTerm PodPreferences []v1.WeightedPodAffinityTerm PodAntiRequirements []v1.PodAffinityTerm PodAntiPreferences []v1.WeightedPodAffinityTerm TopologySpreadConstraints []v1.TopologySpreadConstraint Tolerations []v1.Toleration PersistentVolumeClaims []string EphemeralVolumeTemplates []EphemeralVolumeTemplateOptions HostPorts []int32 Conditions []v1.PodCondition Phase v1.PodPhase RestartPolicy v1.RestartPolicy TerminationGracePeriodSeconds *int64 ReadinessProbe *v1.Probe LivenessProbe *v1.Probe PreStopSleep *int64 Command []string }
PodOptions customizes a Pod.
func UnscheduleablePodOptions ¶
func UnscheduleablePodOptions(overrides ...PodOptions) PodOptions
type ReplicaSetOptions ¶
type ReplicaSetOptions struct { metav1.ObjectMeta Selector map[string]string PodOptions PodOptions }
ReplicaSetOptions customizes a ReplicaSet.
type StatefulSetOptions ¶ added in v0.33.3
type StatefulSetOptions struct { metav1.ObjectMeta Labels map[string]string Replicas int32 PodOptions PodOptions }
type StorageClassOptions ¶
type StorageClassOptions struct { metav1.ObjectMeta Zones []string Provisioner *string VolumeBindingMode *storagev1.VolumeBindingMode }
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=karpenter.test.sh
|
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=karpenter.test.sh |