Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.openfeature.dev
Index ¶
- Constants
- Variables
- type FeatureFlagConfiguration
- func (in *FeatureFlagConfiguration) DeepCopy() *FeatureFlagConfiguration
- func (in *FeatureFlagConfiguration) DeepCopyInto(out *FeatureFlagConfiguration)
- func (in *FeatureFlagConfiguration) DeepCopyObject() runtime.Object
- func (ff *FeatureFlagConfiguration) GenerateConfigMap(name string, namespace string, references []metav1.OwnerReference) corev1.ConfigMap
- func (ff *FeatureFlagConfiguration) GetReference() metav1.OwnerReference
- func (ffc *FeatureFlagConfiguration) Hub()
- func (r *FeatureFlagConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
- type FeatureFlagConfigurationList
- type FeatureFlagConfigurationSpec
- type FeatureFlagConfigurationStatus
- type FeatureFlagServiceProvider
- type FeatureFlagSyncProvider
- type FlagDSpec
- type FlagSourceConfiguration
- func (in *FlagSourceConfiguration) DeepCopy() *FlagSourceConfiguration
- func (in *FlagSourceConfiguration) DeepCopyInto(out *FlagSourceConfiguration)
- func (in *FlagSourceConfiguration) DeepCopyObject() runtime.Object
- func (ffc *FlagSourceConfiguration) Hub()
- func (r *FlagSourceConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
- type FlagSourceConfigurationList
- type FlagSourceConfigurationSpec
- func (in *FlagSourceConfigurationSpec) DeepCopy() *FlagSourceConfigurationSpec
- func (in *FlagSourceConfigurationSpec) DeepCopyInto(out *FlagSourceConfigurationSpec)
- func (fc *FlagSourceConfigurationSpec) Merge(new *FlagSourceConfigurationSpec)
- func (fc *FlagSourceConfigurationSpec) ToEnvVars() []corev1.EnvVar
- type FlagSourceConfigurationStatus
- type HttpSyncConfiguration
- type Source
- type SyncProviderType
Constants ¶
const ( SidecarEnvVarPrefix string = "SIDECAR_ENV_VAR_PREFIX" InputConfigurationEnvVarPrefix string = "SIDECAR" SidecarMetricPortEnvVar string = "METRICS_PORT" SidecarPortEnvVar string = "PORT" SidecarSocketPathEnvVar string = "SOCKET_PATH" SidecarEvaluatorEnvVar string = "EVALUATOR" SidecarImageEnvVar string = "IMAGE" SidecarVersionEnvVar string = "TAG" SidecarProviderArgsEnvVar string = "PROVIDER_ARGS" SidecarDefaultSyncProviderEnvVar string = "SYNC_PROVIDER" SidecarLogFormatEnvVar string = "LOG_FORMAT" SidecarProbesEnabledVar string = "PROBES_ENABLED" DefaultMetricPort int32 = 8014 SyncProviderKubernetes SyncProviderType = "kubernetes" SyncProviderFilepath SyncProviderType = "filepath" SyncProviderHttp SyncProviderType = "http" SyncProviderGrpc SyncProviderType = "grpc" SyncProviderFlagdProxy SyncProviderType = "flagd-proxy" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "core.openfeature.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 FeatureFlagConfiguration ¶
type FeatureFlagConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec FeatureFlagConfigurationSpec `json:"spec,omitempty"`
Status FeatureFlagConfigurationStatus `json:"status,omitempty"`
}
FeatureFlagConfiguration is the Schema for the featureflagconfigurations API
func (*FeatureFlagConfiguration) DeepCopy ¶
func (in *FeatureFlagConfiguration) DeepCopy() *FeatureFlagConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagConfiguration.
func (*FeatureFlagConfiguration) DeepCopyInto ¶
func (in *FeatureFlagConfiguration) DeepCopyInto(out *FeatureFlagConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureFlagConfiguration) DeepCopyObject ¶
func (in *FeatureFlagConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FeatureFlagConfiguration) GenerateConfigMap ¶
func (ff *FeatureFlagConfiguration) GenerateConfigMap(name string, namespace string, references []metav1.OwnerReference) corev1.ConfigMap
func (*FeatureFlagConfiguration) GetReference ¶
func (ff *FeatureFlagConfiguration) GetReference() metav1.OwnerReference
func (*FeatureFlagConfiguration) Hub ¶
func (ffc *FeatureFlagConfiguration) Hub()
Hub marks this type as a conversion hub.
func (*FeatureFlagConfiguration) SetupWebhookWithManager ¶
func (r *FeatureFlagConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
type FeatureFlagConfigurationList ¶
type FeatureFlagConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FeatureFlagConfiguration `json:"items"`
}
FeatureFlagConfigurationList contains a list of FeatureFlagConfiguration
func (*FeatureFlagConfigurationList) DeepCopy ¶
func (in *FeatureFlagConfigurationList) DeepCopy() *FeatureFlagConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagConfigurationList.
func (*FeatureFlagConfigurationList) DeepCopyInto ¶
func (in *FeatureFlagConfigurationList) DeepCopyInto(out *FeatureFlagConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureFlagConfigurationList) DeepCopyObject ¶
func (in *FeatureFlagConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeatureFlagConfigurationSpec ¶
type FeatureFlagConfigurationSpec struct {
// ServiceProvider [DEPRECATED]: superseded by FlagSourceConfiguration
// +optional
// +nullable
ServiceProvider *FeatureFlagServiceProvider `json:"serviceProvider"`
// SyncProvider [DEPRECATED]: superseded by FlagSourceConfiguration
// +optional
// +nullable
SyncProvider *FeatureFlagSyncProvider `json:"syncProvider"`
// FlagDSpec [DEPRECATED]: superseded by FlagSourceConfiguration
// +optional
// +nullable
FlagDSpec *FlagDSpec `json:"flagDSpec"`
// FeatureFlagSpec is the json representation of the feature flag
FeatureFlagSpec string `json:"featureFlagSpec,omitempty"`
}
FeatureFlagConfigurationSpec defines the desired state of FeatureFlagConfiguration
func (*FeatureFlagConfigurationSpec) DeepCopy ¶
func (in *FeatureFlagConfigurationSpec) DeepCopy() *FeatureFlagConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagConfigurationSpec.
func (*FeatureFlagConfigurationSpec) DeepCopyInto ¶
func (in *FeatureFlagConfigurationSpec) DeepCopyInto(out *FeatureFlagConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureFlagConfigurationStatus ¶
type FeatureFlagConfigurationStatus struct {
}
FeatureFlagConfigurationStatus defines the observed state of FeatureFlagConfiguration
func (*FeatureFlagConfigurationStatus) DeepCopy ¶
func (in *FeatureFlagConfigurationStatus) DeepCopy() *FeatureFlagConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagConfigurationStatus.
func (*FeatureFlagConfigurationStatus) DeepCopyInto ¶
func (in *FeatureFlagConfigurationStatus) DeepCopyInto(out *FeatureFlagConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureFlagServiceProvider ¶
type FeatureFlagServiceProvider struct {
// +kubebuilder:validation:Enum=flagd
Name string `json:"name"`
// +optional
// +nullable
Credentials *corev1.ObjectReference `json:"credentials"`
}
func (*FeatureFlagServiceProvider) DeepCopy ¶
func (in *FeatureFlagServiceProvider) DeepCopy() *FeatureFlagServiceProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagServiceProvider.
func (*FeatureFlagServiceProvider) DeepCopyInto ¶
func (in *FeatureFlagServiceProvider) DeepCopyInto(out *FeatureFlagServiceProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureFlagServiceProvider) IsSet ¶
func (p *FeatureFlagServiceProvider) IsSet() bool
type FeatureFlagSyncProvider ¶
type FeatureFlagSyncProvider struct {
Name string `json:"name"`
// +optional
// +nullable
HttpSyncConfiguration *HttpSyncConfiguration `json:"httpSyncConfiguration"`
}
func (*FeatureFlagSyncProvider) DeepCopy ¶
func (in *FeatureFlagSyncProvider) DeepCopy() *FeatureFlagSyncProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureFlagSyncProvider.
func (*FeatureFlagSyncProvider) DeepCopyInto ¶
func (in *FeatureFlagSyncProvider) DeepCopyInto(out *FeatureFlagSyncProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlagDSpec ¶
type FlagDSpec struct {
// +optional
MetricsPort int32 `json:"metricsPort"`
// +optional
Envs []corev1.EnvVar `json:"envs"`
}
func (*FlagDSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagDSpec.
func (*FlagDSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlagSourceConfiguration ¶
type FlagSourceConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec FlagSourceConfigurationSpec `json:"spec,omitempty"`
Status FlagSourceConfigurationStatus `json:"status,omitempty"`
}
FlagSourceConfiguration is the Schema for the FlagSourceConfigurations API
func (*FlagSourceConfiguration) DeepCopy ¶
func (in *FlagSourceConfiguration) DeepCopy() *FlagSourceConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSourceConfiguration.
func (*FlagSourceConfiguration) DeepCopyInto ¶
func (in *FlagSourceConfiguration) DeepCopyInto(out *FlagSourceConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSourceConfiguration) DeepCopyObject ¶
func (in *FlagSourceConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FlagSourceConfiguration) Hub ¶
func (ffc *FlagSourceConfiguration) Hub()
Hub marks this type as a conversion hub.
func (*FlagSourceConfiguration) SetupWebhookWithManager ¶
func (r *FlagSourceConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
type FlagSourceConfigurationList ¶
type FlagSourceConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FlagSourceConfiguration `json:"items"`
}
FlagSourceConfigurationList contains a list of FlagSourceConfiguration
func (*FlagSourceConfigurationList) DeepCopy ¶
func (in *FlagSourceConfigurationList) DeepCopy() *FlagSourceConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSourceConfigurationList.
func (*FlagSourceConfigurationList) DeepCopyInto ¶
func (in *FlagSourceConfigurationList) DeepCopyInto(out *FlagSourceConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSourceConfigurationList) DeepCopyObject ¶
func (in *FlagSourceConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FlagSourceConfigurationSpec ¶
type FlagSourceConfigurationSpec struct {
// MetricsPort defines the port to serve metrics on, defaults to 8014
// +optional
MetricsPort int32 `json:"metricsPort"`
// Port defines the port to listen on, defaults to 8013
// +optional
Port int32 `json:"port"`
// SocketPath defines the unix socket path to listen on
// +optional
SocketPath string `json:"socketPath"`
// SyncProviderArgs are string arguments passed to all sync providers, defined as key values separated by =
// +optional
SyncProviderArgs []string `json:"syncProviderArgs"`
// Evaluator sets an evaluator, defaults to 'json'
// +optional
Evaluator string `json:"evaluator"`
// Image allows for the sidecar image to be overridden, defaults to 'ghcr.io/open-feature/flagd'
// +optional
Image string `json:"image"`
// Tag to be appended to the sidecar image, defaults to 'main'
// +optional
Tag string `json:"tag"`
// DefaultSyncProvider defines the default sync provider
// +optional
DefaultSyncProvider SyncProviderType `json:"defaultSyncProvider"`
// Sources defines the syncProviders and associated configuration to be applied to the sidecar
// +kubebuilder:validation:MinItems=1
Sources []Source `json:"sources"`
// EnvVars define the env vars to be applied to the sidecar, any env vars in FeatureFlagConfiguration CRs
// are added at the lowest index, all values will have the EnvVarPrefix applied
// +optional
EnvVars []corev1.EnvVar `json:"envVars"`
// EnvVarPrefix defines the prefix to be applied to all environment variables applied to the sidecar, default FLAGD
// +optional
EnvVarPrefix string `json:"envVarPrefix"`
// LogFormat allows for the sidecar log format to be overridden, defaults to 'json'
// +optional
LogFormat string `json:"logFormat"`
// RolloutOnChange dictates whether annotated deployments will be restarted when configuration changes are
// detected in this CR, defaults to false
// +optional
RolloutOnChange *bool `json:"rolloutOnChange"`
// ProbesEnabled defines whether to enable liveness and readiness probes of flagd sidecar. Default true (enabled).
// +optional
ProbesEnabled *bool `json:"probesEnabled"`
// DebugLogging defines whether to enable --debug flag of flagd sidecar. Default false (disabled).
// +optional
DebugLogging *bool `json:"debugLogging"`
// OtelCollectorUri defines whether to enable --otel-collector-uri flag of flagd sidecar. Default false (disabled).
// +optional
OtelCollectorUri string `json:"otelCollectorUri"`
// Resources defines flagd sidecar resources. Default to operator sidecar-cpu-* and sidecar-ram-* flags.
// +optional
Resources corev1.ResourceRequirements `json:"resources"`
}
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration
func NewFlagSourceConfigurationSpec ¶
func NewFlagSourceConfigurationSpec() (*FlagSourceConfigurationSpec, error)
func (*FlagSourceConfigurationSpec) DeepCopy ¶
func (in *FlagSourceConfigurationSpec) DeepCopy() *FlagSourceConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSourceConfigurationSpec.
func (*FlagSourceConfigurationSpec) DeepCopyInto ¶
func (in *FlagSourceConfigurationSpec) DeepCopyInto(out *FlagSourceConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSourceConfigurationSpec) Merge ¶
func (fc *FlagSourceConfigurationSpec) Merge(new *FlagSourceConfigurationSpec)
func (*FlagSourceConfigurationSpec) ToEnvVars ¶
func (fc *FlagSourceConfigurationSpec) ToEnvVars() []corev1.EnvVar
type FlagSourceConfigurationStatus ¶
type FlagSourceConfigurationStatus struct {
}
FlagSourceConfigurationStatus defines the observed state of FlagSourceConfiguration
func (*FlagSourceConfigurationStatus) DeepCopy ¶
func (in *FlagSourceConfigurationStatus) DeepCopy() *FlagSourceConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSourceConfigurationStatus.
func (*FlagSourceConfigurationStatus) DeepCopyInto ¶
func (in *FlagSourceConfigurationStatus) DeepCopyInto(out *FlagSourceConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HttpSyncConfiguration ¶
type HttpSyncConfiguration struct {
// Target is the target url for flagd to poll
Target string `json:"target"`
// +optional
BearerToken string `json:"bearerToken,omitempty"`
}
HttpSyncConfiguration defines the desired configuration for a http sync
func (*HttpSyncConfiguration) DeepCopy ¶
func (in *HttpSyncConfiguration) DeepCopy() *HttpSyncConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HttpSyncConfiguration.
func (*HttpSyncConfiguration) DeepCopyInto ¶
func (in *HttpSyncConfiguration) DeepCopyInto(out *HttpSyncConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Source ¶
type Source struct {
// Source is a URI of the flag sources
Source string `json:"source"`
// Provider type - kubernetes, http, grpc or filepath
// +optional
Provider SyncProviderType `json:"provider"`
// HttpSyncBearerToken is a bearer token. Used by http(s) sync provider only
// +optional
HttpSyncBearerToken string `json:"httpSyncBearerToken"`
// TLS - Enable/Disable secure TLS connectivity. Currently used only by GRPC sync
// +optional
TLS bool `json:"tls"`
// CertPath is a path of a certificate to be used by grpc TLS connection
// +optional
CertPath string `json:"certPath"`
// ProviderID is an identifier to be used in grpc provider
// +optional
ProviderID string `json:"providerID"`
// Selector is a flag configuration selector used by grpc provider
// +optional
Selector string `json:"selector,omitempty"`
}
func (*Source) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Source.
func (*Source) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncProviderType ¶
type SyncProviderType string
func (SyncProviderType) IsFilepath ¶
func (s SyncProviderType) IsFilepath() bool
func (SyncProviderType) IsFlagdProxy ¶
func (s SyncProviderType) IsFlagdProxy() bool
func (SyncProviderType) IsGrpc ¶
func (s SyncProviderType) IsGrpc() bool
func (SyncProviderType) IsHttp ¶
func (s SyncProviderType) IsHttp() bool
func (SyncProviderType) IsKubernetes ¶
func (s SyncProviderType) IsKubernetes() bool