Packages:
Resource Types:
FeatureFlagConfiguration is the Schema for the featureflagconfigurations API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1alpha1 | true |
kind | string | FeatureFlagConfiguration | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FeatureFlagConfigurationSpec defines the desired state of FeatureFlagConfiguration |
false |
status | object |
FeatureFlagConfigurationStatus defines the observed state of FeatureFlagConfiguration |
false |
FeatureFlagConfigurationSpec defines the desired state of FeatureFlagConfiguration
Name | Type | Description | Required |
---|---|---|---|
featureFlagSpec | string |
FeatureFlagSpec is the json representation of the feature flag |
false |
flagDSpec | object |
FlagDSpec [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
serviceProvider | object |
ServiceProvider [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
syncProvider | object |
SyncProvider [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
FlagDSpec [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
envs | []object |
|
false |
metricsPort | integer |
Format: int32 |
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['']`, `metadata.annotations['']`, 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 |
ServiceProvider [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
name | enum |
Enum: flagd |
true |
credentials | object |
ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . |
false |
ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string |
API version of the referent. |
false |
fieldPath | string |
If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. |
false |
kind | string |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
false |
name | string |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
false |
namespace | string |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
false |
resourceVersion | string |
Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
false |
uid | string |
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
false |
SyncProvider [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
name | string |
|
true |
httpSyncConfiguration | object |
HttpSyncConfiguration defines the desired configuration for a http sync |
false |
HttpSyncConfiguration defines the desired configuration for a http sync
Name | Type | Description | Required |
---|---|---|---|
target | string |
Target is the target url for flagd to poll |
true |
bearerToken | string |
|
false |
FlagSourceConfiguration is the Schema for the FlagSourceConfigurations API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1alpha1 | true |
kind | string | FlagSourceConfiguration | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration |
false |
status | object |
FlagSourceConfigurationStatus defines the observed state of FlagSourceConfiguration |
false |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
sources | []object |
Sources defines 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 FeatureFlagConfiguration CRs are added at the lowest index, all values will have the EnvVarPrefix applied |
false |
evaluator | string |
Evaluator sets an evaluator, defaults to 'json' |
false |
image | string |
Image allows for the sidecar image to be overridden, defaults to 'ghcr.io/open-feature/flagd' |
false |
logFormat | string |
LogFormat allows for the sidecar log format to be overridden, defaults to 'json' |
false |
metricsPort | integer |
MetricsPort defines the port to serve metrics on, defaults to 8014 Format: int32 |
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 |
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 |
tag | string |
Tag to be appended to the sidecar image, defaults to 'main' |
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, grpc or filepath |
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['']`, `metadata.annotations['']`, 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 |
Resource Types:
FeatureFlagConfiguration is the Schema for the featureflagconfigurations API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1alpha2 | true |
kind | string | FeatureFlagConfiguration | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FeatureFlagConfigurationSpec defines the desired state of FeatureFlagConfiguration |
false |
status | object |
FeatureFlagConfigurationStatus defines the observed state of FeatureFlagConfiguration |
false |
FeatureFlagConfigurationSpec defines the desired state of FeatureFlagConfiguration
Name | Type | Description | Required |
---|---|---|---|
featureFlagSpec | object |
FeatureFlagSpec is the structured representation of the feature flag specification |
false |
flagDSpec | object |
FlagDSpec [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
serviceProvider | object |
ServiceProvider [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
syncProvider | object |
SyncProvider [DEPRECATED]: superseded by FlagSourceConfiguration |
false |
FeatureFlagSpec 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 |
FlagDSpec [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
envs | []object |
|
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['']`, `metadata.annotations['']`, 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 |
ServiceProvider [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
name | enum |
Enum: flagd |
true |
credentials | object |
ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . |
false |
ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string |
API version of the referent. |
false |
fieldPath | string |
If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. |
false |
kind | string |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
false |
name | string |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
false |
namespace | string |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
false |
resourceVersion | string |
Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
false |
uid | string |
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
false |
SyncProvider [DEPRECATED]: superseded by FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
name | string |
|
true |
httpSyncConfiguration | object |
HttpSyncConfiguration defines the desired configuration for a http sync |
false |
HttpSyncConfiguration defines the desired configuration for a http sync
Name | Type | Description | Required |
---|---|---|---|
target | string |
Target is the target url for flagd to poll |
true |
bearerToken | string |
|
false |
FlagSourceConfiguration is the Schema for the FlagSourceConfigurations API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1alpha2 | true |
kind | string | FlagSourceConfiguration | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration |
false |
status | object |
FlagSourceConfigurationStatus defines the observed state of FlagSourceConfiguration |
false |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration
Name | Type | Description | Required |
---|---|---|---|
defaultSyncProvider | string |
DefaultSyncProvider defines the default sync provider |
false |
evaluator | string |
Evaluator sets an evaluator, defaults to 'json' |
false |
image | string |
Image allows for the sidecar image to be overridden, defaults to 'ghcr.io/open-feature/flagd' |
false |
logFormat | string |
LogFormat allows for the sidecar log format to be overridden, defaults to 'json' |
false |
metricsPort | integer |
MetricsPort defines the port to serve metrics on, defaults to 8013 Format: int32 |
false |
port | integer |
Port defines the port to listen on, defaults to 8014 Format: int32 |
false |
probesEnabled | boolean |
ProbesEnabled defines whether to enable liveness and readiness probes of flagd sidecar. Default true (enabled). |
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 |
tag | string |
Tag to be appended to the sidecar image, defaults to 'main' |
false |
Resource Types:
FlagSourceConfiguration is the Schema for the FlagSourceConfigurations API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | core.openfeature.dev/v1alpha3 | true |
kind | string | FlagSourceConfiguration | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration |
false |
status | object |
FlagSourceConfigurationStatus defines the observed state of FlagSourceConfiguration |
false |
FlagSourceConfigurationSpec defines the desired state of FlagSourceConfiguration
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 FeatureFlagConfiguration 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 |
image | string |
Image allows for the sidecar image to be overridden, defaults to 'ghcr.io/open-feature/flagd' |
false |
logFormat | string |
LogFormat allows for the sidecar log format to be overridden, defaults to 'json' |
false |
metricsPort | integer |
MetricsPort defines the port to serve metrics on, defaults to 8014 Format: int32 |
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 |
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 |
tag | string |
Tag to be appended to the sidecar image, defaults to 'main' |
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 filepath |
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['']`, `metadata.annotations['']`, 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 |