v1alpha1

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the flipt v1alpha1 API group +kubebuilder:object:generate=true +groupName=flipt.nev.dev

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "flipt.nev.dev", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Constraint

type Constraint struct {
	Type        string `yaml:"type,omitempty" json:"type,omitempty"`
	Property    string `yaml:"property,omitempty" json:"property,omitempty"`
	Operator    string `yaml:"operator,omitempty" json:"operator,omitempty"`
	Value       string `yaml:"value,omitempty" json:"value,omitempty"`
	Description string `yaml:"description,omitempty" json:"description,omitempty"`
}

func (*Constraint) DeepCopy

func (in *Constraint) DeepCopy() *Constraint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Constraint.

func (*Constraint) DeepCopyInto

func (in *Constraint) DeepCopyInto(out *Constraint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Distribution

type Distribution struct {
	VariantKey string  `yaml:"variant,omitempty" json:"variant,omitempty"`
	Rollout    float32 `yaml:"rollout,omitempty" json:"rollout,omitempty"`
}

func (*Distribution) DeepCopy

func (in *Distribution) DeepCopy() *Distribution

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Distribution.

func (*Distribution) DeepCopyInto

func (in *Distribution) DeepCopyInto(out *Distribution)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Document

type Document struct {
	Version   string     `yaml:"version,omitempty" json:"version,omitempty"`
	Namespace *Namespace `yaml:"namespace,omitempty" json:"namespace,omitempty"`
	Flags     []*Flag    `yaml:"flags,omitempty" json:"flags,omitempty"`
	Segments  []*Segment `yaml:"segments,omitempty" json:"segments,omitempty"`
}

func (*Document) DeepCopy

func (in *Document) DeepCopy() *Document

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Document.

func (*Document) DeepCopyInto

func (in *Document) DeepCopyInto(out *Document)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Features

type Features struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FeaturesSpec   `json:"spec,omitempty"`
	Status FeaturesStatus `json:"status,omitempty"`
}

Features is the Schema for the features API

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Features) DeepCopyObject

func (in *Features) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FeaturesList

type FeaturesList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Features `json:"items"`
}

FeaturesList contains a list of Features

func (*FeaturesList) DeepCopy

func (in *FeaturesList) DeepCopy() *FeaturesList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesList.

func (*FeaturesList) DeepCopyInto

func (in *FeaturesList) DeepCopyInto(out *FeaturesList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FeaturesList) DeepCopyObject

func (in *FeaturesList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FeaturesSpec

type FeaturesSpec struct {
	Features Document `json:"features,omitempty"`
}

FeaturesSpec defines the desired state of Features

func (*FeaturesSpec) DeepCopy

func (in *FeaturesSpec) DeepCopy() *FeaturesSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesSpec.

func (*FeaturesSpec) DeepCopyInto

func (in *FeaturesSpec) DeepCopyInto(out *FeaturesSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FeaturesStatus

type FeaturesStatus struct {
}

FeaturesStatus defines the observed state of Features

func (*FeaturesStatus) DeepCopy

func (in *FeaturesStatus) DeepCopy() *FeaturesStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesStatus.

func (*FeaturesStatus) DeepCopyInto

func (in *FeaturesStatus) DeepCopyInto(out *FeaturesStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FeaturesTarget

type FeaturesTarget struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FeaturesTargetSpec   `json:"spec,omitempty"`
	Status FeaturesTargetStatus `json:"status,omitempty"`
}

FeaturesTarget is the Schema for the featurestargets API

func (*FeaturesTarget) DeepCopy

func (in *FeaturesTarget) DeepCopy() *FeaturesTarget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTarget.

func (*FeaturesTarget) DeepCopyInto

func (in *FeaturesTarget) DeepCopyInto(out *FeaturesTarget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FeaturesTarget) DeepCopyObject

func (in *FeaturesTarget) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FeaturesTargetList

type FeaturesTargetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FeaturesTarget `json:"items"`
}

FeaturesTargetList contains a list of FeaturesTarget

func (*FeaturesTargetList) DeepCopy

func (in *FeaturesTargetList) DeepCopy() *FeaturesTargetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTargetList.

func (*FeaturesTargetList) DeepCopyInto

func (in *FeaturesTargetList) DeepCopyInto(out *FeaturesTargetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FeaturesTargetList) DeepCopyObject

func (in *FeaturesTargetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FeaturesTargetSpec

type FeaturesTargetSpec struct {
	// Sepcifies the ConfigMap resource that is updated with the compiled features configuration
	ConfigMap *FeaturesTargetSpecConfigMap `json:"configMap,omitempty"`

	Sources []FeaturesTargetSpecSource `json:"sources,omitempty"`
}

FeaturesTargetSpec defines the desired state of FeaturesTarget

func (*FeaturesTargetSpec) DeepCopy

func (in *FeaturesTargetSpec) DeepCopy() *FeaturesTargetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTargetSpec.

func (*FeaturesTargetSpec) DeepCopyInto

func (in *FeaturesTargetSpec) DeepCopyInto(out *FeaturesTargetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FeaturesTargetSpecConfigMap

type FeaturesTargetSpecConfigMap struct {
	// Name of the ConfigMap to update. Required.
	//+kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

func (*FeaturesTargetSpecConfigMap) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTargetSpecConfigMap.

func (*FeaturesTargetSpecConfigMap) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FeaturesTargetSpecNamespaceMapping

type FeaturesTargetSpecNamespaceMapping string

How to handle the namespace set in the source features config.

const (
	// The features namespace is replaced with the kubernetes namespace of the source
	OverrideNamespace FeaturesTargetSpecNamespaceMapping = "override"
	// The features namespace must match the kubernetes namespace of the source
	MustMatchNamespace FeaturesTargetSpecNamespaceMapping = "mustmatch"
	// The features namespace must be non-empty
	RequireNamespace FeaturesTargetSpecNamespaceMapping = "require"
	// Leave the feature namespace as-is
	PreserveNamespace FeaturesTargetSpecNamespaceMapping = "preserve"
)

type FeaturesTargetSpecSource

type FeaturesTargetSpecSource struct {
	// Namespaces in which to look for feature sources. If empty, all namespaces are searched.
	//+kubebuilder:validation:items:MinLength=1
	Namespaces []string `json:"namespaces,omitempty"`
	// Label selector to filter which feature sources to consider.
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// How to handle the namespace set in the source features config.
	//  - override: The features namespace is replaced with the kubernetes namespace of the source
	//  - mustmatch: The features namespace must match the kubernetes namespace of the source
	//  - require: The features namespace must be non-empty
	//  - preserve: Leave the feature namespace as-is
	NamespaceMapping FeaturesTargetSpecNamespaceMapping `json:"namespaceMapping,omitempty"`
}

func (*FeaturesTargetSpecSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTargetSpecSource.

func (*FeaturesTargetSpecSource) DeepCopyInto

func (in *FeaturesTargetSpecSource) DeepCopyInto(out *FeaturesTargetSpecSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FeaturesTargetStatus

type FeaturesTargetStatus struct {
}

FeaturesTargetStatus defines the observed state of FeaturesTarget

func (*FeaturesTargetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesTargetStatus.

func (*FeaturesTargetStatus) DeepCopyInto

func (in *FeaturesTargetStatus) DeepCopyInto(out *FeaturesTargetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Flag

type Flag struct {
	Key         string                     `yaml:"key,omitempty" json:"key,omitempty"`
	Name        string                     `yaml:"name,omitempty" json:"name,omitempty"`
	Type        string                     `yaml:"type,omitempty" json:"type,omitempty"`
	Description string                     `yaml:"description,omitempty" json:"description,omitempty"`
	Enabled     bool                       `yaml:"enabled" json:"enabled"`
	Metadata    map[string]json.RawMessage `yaml:"metadata,omitempty" json:"metadata,omitempty"`
	Variants    []*Variant                 `yaml:"variants,omitempty" json:"variants,omitempty"`
	Rules       []*Rule                    `yaml:"rules,omitempty" json:"rules,omitempty"`
	Rollouts    []*Rollout                 `yaml:"rollouts,omitempty" json:"rollouts,omitempty"`
}

func (*Flag) DeepCopy

func (in *Flag) DeepCopy() *Flag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flag.

func (*Flag) DeepCopyInto

func (in *Flag) DeepCopyInto(out *Flag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Namespace

type Namespace struct {
	Key         string `yaml:"key,omitempty" json:"key,omitempty"`
	Name        string `yaml:"name,omitempty" json:"name,omitempty"`
	Description string `yaml:"description,omitempty" json:"description,omitempty"`
}

func (*Namespace) DeepCopy

func (in *Namespace) DeepCopy() *Namespace

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Namespace.

func (*Namespace) DeepCopyInto

func (in *Namespace) DeepCopyInto(out *Namespace)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Namespace) GetKey

func (n *Namespace) GetKey() string

type Rollout

type Rollout struct {
	Description string         `yaml:"description,omitempty" json:"description,omitempty"`
	Segment     *SegmentRule   `yaml:"segment,omitempty" json:"segment,omitempty"`
	Threshold   *ThresholdRule `yaml:"threshold,omitempty" json:"threshold,omitempty"`
}

func (*Rollout) DeepCopy

func (in *Rollout) DeepCopy() *Rollout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rollout.

func (*Rollout) DeepCopyInto

func (in *Rollout) DeepCopyInto(out *Rollout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Rule

type Rule struct {
	Segment       *Segments       `yaml:"segment,omitempty" json:"segment,omitempty"`
	Rank          uint            `yaml:"rank,omitempty" json:"rank,omitempty"`
	Distributions []*Distribution `yaml:"distributions,omitempty" json:"distributions,omitempty"`
}

func (*Rule) DeepCopy

func (in *Rule) DeepCopy() *Rule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.

func (*Rule) DeepCopyInto

func (in *Rule) DeepCopyInto(out *Rule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Segment

type Segment struct {
	Key         string        `yaml:"key,omitempty" json:"key,omitempty"`
	Name        string        `yaml:"name,omitempty" json:"name,omitempty"`
	Description string        `yaml:"description,omitempty" json:"description,omitempty"`
	Constraints []*Constraint `yaml:"constraints,omitempty" json:"constraints,omitempty"`
	MatchType   string        `yaml:"match_type,omitempty" json:"match_type,omitempty"`
}

func (*Segment) DeepCopy

func (in *Segment) DeepCopy() *Segment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Segment.

func (*Segment) DeepCopyInto

func (in *Segment) DeepCopyInto(out *Segment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SegmentRule

type SegmentRule struct {
	Key      string   `yaml:"key,omitempty" json:"key,omitempty"`
	Keys     []string `yaml:"keys,omitempty" json:"keys,omitempty"`
	Operator string   `yaml:"operator,omitempty" json:"operator,omitempty"`
	Value    bool     `yaml:"value,omitempty" json:"value,omitempty"`
}

func (*SegmentRule) DeepCopy

func (in *SegmentRule) DeepCopy() *SegmentRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SegmentRule.

func (*SegmentRule) DeepCopyInto

func (in *SegmentRule) DeepCopyInto(out *SegmentRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Segments

type Segments struct {
	Keys            []string `yaml:"keys,omitempty" json:"keys,omitempty"`
	SegmentOperator string   `yaml:"operator,omitempty" json:"operator,omitempty"`
}

func (*Segments) DeepCopy

func (in *Segments) DeepCopy() *Segments

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Segments.

func (*Segments) DeepCopyInto

func (in *Segments) DeepCopyInto(out *Segments)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThresholdRule

type ThresholdRule struct {
	Percentage float32 `yaml:"percentage,omitempty" json:"percentage,omitempty"`
	Value      bool    `yaml:"value,omitempty" json:"value,omitempty"`
}

func (*ThresholdRule) DeepCopy

func (in *ThresholdRule) DeepCopy() *ThresholdRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThresholdRule.

func (*ThresholdRule) DeepCopyInto

func (in *ThresholdRule) DeepCopyInto(out *ThresholdRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Variant

type Variant struct {
	Default     bool            `yaml:"default,omitempty" json:"default,omitempty"`
	Key         string          `yaml:"key,omitempty" json:"key,omitempty"`
	Name        string          `yaml:"name,omitempty" json:"name,omitempty"`
	Description string          `yaml:"description,omitempty" json:"description,omitempty"`
	Attachment  json.RawMessage `yaml:"attachment,omitempty" json:"attachment,omitempty"`
}

func (*Variant) DeepCopy

func (in *Variant) DeepCopy() *Variant

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Variant.

func (*Variant) DeepCopyInto

func (in *Variant) DeepCopyInto(out *Variant)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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