Packages:
Resource Types:
FeatureFlag is the Schema for the featureflags API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1beta1 | true |
kind | string | FeatureFlag | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FeatureFlagSpec defines the desired state of FeatureFlag |
false |
status | object |
FeatureFlagStatus defines the observed state of FeatureFlag |
false |
FeatureFlagSpec defines the desired state of FeatureFlag
Name | Type | Description | Required |
---|---|---|---|
flagSpec | object |
FlagSpec is the structured representation of the feature flag specification |
false |
FlagSpec is the structured representation of the feature flag specification
Name | Type | Description | Required |
---|---|---|---|
flags | map[string]object |
|
true |
$evaluators | object |
|
false |
Name | Type | Description | Required |
---|---|---|---|
defaultVariant | string |
|
true |
state | enum |
Enum: ENABLED, DISABLED |
true |
variants | object |
|
true |
targeting | object |
Targeting is the json targeting rule |
false |
FeatureFlagSource is the Schema for the FeatureFlagSources API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1beta1 | true |
kind | string | FeatureFlagSource | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FeatureFlagSourceSpec defines the desired state of FeatureFlagSource |
false |
status | object |
FeatureFlagSourceStatus defines the observed state of FeatureFlagSource |
false |
FeatureFlagSourceSpec defines the desired state of FeatureFlagSource
Name | Type | Description | Required |
---|---|---|---|
sources | []object |
SyncProviders define the syncProviders and associated configuration to be applied to the sidecar |
true |
debugLogging | boolean |
DebugLogging defines whether to enable --debug flag of flagd sidecar. Default false (disabled). |
false |
defaultSyncProvider | string |
DefaultSyncProvider defines the default sync provider |
false |
envVarPrefix | string |
EnvVarPrefix defines the prefix to be applied to all environment variables applied to the sidecar, default FLAGD |
false |
envVars | []object |
EnvVars define the env vars to be applied to the sidecar, any env vars in FeatureFlag CRs are added at the lowest index, all values will have the EnvVarPrefix applied, default FLAGD |
false |
evaluator | string |
Evaluator sets an evaluator, defaults to 'json' |
false |
logFormat | string |
LogFormat allows for the sidecar log format to be overridden, defaults to 'json' |
false |
managementPort | integer |
ManagemetPort defines the port to serve management on, defaults to 8014 Format: int32 |
false |
otelCollectorUri | string |
OtelCollectorUri defines whether to enable --otel-collector-uri flag of flagd sidecar. Default false (disabled). |
false |
port | integer |
Port defines the port to listen on, defaults to 8013 Format: int32 |
false |
probesEnabled | boolean |
ProbesEnabled defines whether to enable liveness and readiness probes of flagd sidecar. Default true (enabled). |
false |
resources | object |
Resources defines flagd sidecar resources. Default to operator sidecar-cpu-* and sidecar-ram-* flags. |
false |
rolloutOnChange | boolean |
RolloutOnChange dictates whether annotated deployments will be restarted when configuration changes are detected in this CR, defaults to false |
false |
socketPath | string |
SocketPath defines the unix socket path to listen on |
false |
syncProviderArgs | []string |
SyncProviderArgs are string arguments passed to all sync providers, defined as key values separated by = |
false |
Name | Type | Description | Required |
---|---|---|---|
source | string |
Source is a URI of the flag sources |
true |
certPath | string |
CertPath is a path of a certificate to be used by grpc TLS connection |
false |
httpSyncBearerToken | string |
HttpSyncBearerToken is a bearer token. Used by http(s) sync provider only |
false |
provider | string |
Provider type - kubernetes, http(s), grpc(s) or file |
false |
providerID | string |
ProviderID is an identifier to be used in grpc provider |
false |
selector | string |
Selector is a flag configuration selector used by grpc provider |
false |
tls | boolean |
TLS - Enable/Disable secure TLS connectivity. Currently used only by GRPC sync |
false |
EnvVar represents an environment variable present in a Container.
Name | Type | Description | Required |
---|---|---|---|
name | string |
Name of the environment variable. Must be a C_IDENTIFIER. |
true |
value | string |
Variable references |
false |
valueFrom | object |
Source for the environment variable's value. Cannot be used if value is not empty. |
false |
Source for the environment variable's value. Cannot be used if value is not empty.
Name | Type | Description | Required |
---|---|---|---|
configMapKeyRef | object |
Selects a key of a ConfigMap. |
false |
fieldRef | object |
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. |
false |
resourceFieldRef | object |
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. |
false |
secretKeyRef | object |
Selects a key of a secret in the pod's namespace |
false |
Selects a key of a ConfigMap.
Name | Type | Description | Required |
---|---|---|---|
key | string |
The key to select. |
true |
name | string |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? |
false |
optional | boolean |
Specify whether the ConfigMap or its key must be defined |
false |
Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>']
, metadata.annotations['<KEY>']
, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
Name | Type | Description | Required |
---|---|---|---|
fieldPath | string |
Path of the field to select in the specified API version. |
true |
apiVersion | string |
Version of the schema the FieldPath is written in terms of, defaults to "v1". |
false |
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
Name | Type | Description | Required |
---|---|---|---|
resource | string |
Required: resource to select |
true |
containerName | string |
Container name: required for volumes, optional for env vars |
false |
divisor | int or string |
Specifies the output format of the exposed resources, defaults to "1" |
false |
Selects a key of a secret in the pod's namespace
Name | Type | Description | Required |
---|---|---|---|
key | string |
The key of the secret to select from. Must be a valid secret key. |
true |
name | string |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? |
false |
optional | boolean |
Specify whether the Secret or its key must be defined |
false |
Resources defines flagd sidecar resources. Default to operator sidecar-cpu-* and sidecar-ram-* flags.
Name | Type | Description | Required |
---|---|---|---|
claims | []object |
Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.
This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.
This field is immutable. It can only be set for containers. |
false |
limits | map[string]int or string |
Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
false |
requests | map[string]int or string |
Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
false |
ResourceClaim references one entry in PodSpec.ResourceClaims.
Name | Type | Description | Required |
---|---|---|---|
name | string |
Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. |
true |