Skip to content

Commit cf02562

Browse files
authored
Merge branch 'main' into release-please--branches--main
2 parents 12b3934 + 6ed3be5 commit cf02562

File tree

5 files changed

+306
-19
lines changed

5 files changed

+306
-19
lines changed

chart/templates/rendered.yaml

Lines changed: 281 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,20 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.8.0
6-
creationTimestamp: null
5+
cert-manager.io/inject-ca-from: '{{ include "chart.namespace" . }}/open-feature-operator-serving-cert'
6+
controller-gen.kubebuilder.io/version: v0.10.0
77
name: featureflagconfigurations.core.openfeature.dev
88
spec:
9+
conversion:
10+
strategy: Webhook
11+
webhook:
12+
clientConfig:
13+
service:
14+
name: open-feature-operator-webhook-service
15+
namespace: '{{ include "chart.namespace" . }}'
16+
path: /convert
17+
conversionReviewVersions:
18+
- v1
919
group: core.openfeature.dev
1020
names:
1121
kind: FeatureFlagConfiguration
@@ -85,6 +95,7 @@ spec:
8595
required:
8696
- key
8797
type: object
98+
x-kubernetes-map-type: atomic
8899
fieldRef:
89100
description: 'Selects a field of the pod: supports metadata.name,
90101
metadata.namespace, `metadata.labels[''<KEY>'']`,
@@ -103,6 +114,7 @@ spec:
103114
required:
104115
- fieldPath
105116
type: object
117+
x-kubernetes-map-type: atomic
106118
resourceFieldRef:
107119
description: 'Selects a resource of the container: only
108120
resources limits and requests (limits.cpu, limits.memory,
@@ -127,6 +139,7 @@ spec:
127139
required:
128140
- resource
129141
type: object
142+
x-kubernetes-map-type: atomic
130143
secretKeyRef:
131144
description: Selects a key of a secret in the pod's
132145
namespace
@@ -147,6 +160,7 @@ spec:
147160
required:
148161
- key
149162
type: object
163+
x-kubernetes-map-type: atomic
150164
type: object
151165
required:
152166
- name
@@ -222,6 +236,7 @@ spec:
222236
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
223237
type: string
224238
type: object
239+
x-kubernetes-map-type: atomic
225240
name:
226241
enum:
227242
- flagd
@@ -247,12 +262,270 @@ spec:
247262
storage: true
248263
subresources:
249264
status: {}
250-
status:
251-
acceptedNames:
252-
kind: ""
253-
plural: ""
254-
conditions: []
255-
storedVersions: []
265+
- name: v1alpha2
266+
schema:
267+
openAPIV3Schema:
268+
description: FeatureFlagConfiguration is the Schema for the featureflagconfigurations
269+
API
270+
properties:
271+
apiVersion:
272+
description: 'APIVersion defines the versioned schema of this representation
273+
of an object. Servers should convert recognized schemas to the latest
274+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
275+
type: string
276+
kind:
277+
description: 'Kind is a string value representing the REST resource this
278+
object represents. Servers may infer this from the endpoint the client
279+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
280+
type: string
281+
metadata:
282+
type: object
283+
spec:
284+
description: FeatureFlagConfigurationSpec defines the desired state of
285+
FeatureFlagConfiguration
286+
properties:
287+
featureFlagSpec:
288+
description: FeatureFlagSpec is the structured representation of the
289+
feature flag specification
290+
properties:
291+
$evaluators:
292+
type: object
293+
x-kubernetes-preserve-unknown-fields: true
294+
flags:
295+
additionalProperties:
296+
properties:
297+
defaultVariant:
298+
type: string
299+
state:
300+
enum:
301+
- ENABLED
302+
- DISABLED
303+
type: string
304+
targeting:
305+
description: Targeting is the json targeting rule
306+
type: object
307+
x-kubernetes-preserve-unknown-fields: true
308+
variants:
309+
type: object
310+
x-kubernetes-preserve-unknown-fields: true
311+
required:
312+
- defaultVariant
313+
- state
314+
- variants
315+
type: object
316+
type: object
317+
required:
318+
- flags
319+
type: object
320+
flagDSpec:
321+
nullable: true
322+
properties:
323+
envs:
324+
items:
325+
description: EnvVar represents an environment variable present
326+
in a Container.
327+
properties:
328+
name:
329+
description: Name of the environment variable. Must be a
330+
C_IDENTIFIER.
331+
type: string
332+
value:
333+
description: 'Variable references $(VAR_NAME) are expanded
334+
using the previously defined environment variables in
335+
the container and any service environment variables. If
336+
a variable cannot be resolved, the reference in the input
337+
string will be unchanged. Double $$ are reduced to a single
338+
$, which allows for escaping the $(VAR_NAME) syntax: i.e.
339+
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
340+
Escaped references will never be expanded, regardless
341+
of whether the variable exists or not. Defaults to "".'
342+
type: string
343+
valueFrom:
344+
description: Source for the environment variable's value.
345+
Cannot be used if value is not empty.
346+
properties:
347+
configMapKeyRef:
348+
description: Selects a key of a ConfigMap.
349+
properties:
350+
key:
351+
description: The key to select.
352+
type: string
353+
name:
354+
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
355+
TODO: Add other useful fields. apiVersion, kind,
356+
uid?'
357+
type: string
358+
optional:
359+
description: Specify whether the ConfigMap or its
360+
key must be defined
361+
type: boolean
362+
required:
363+
- key
364+
type: object
365+
x-kubernetes-map-type: atomic
366+
fieldRef:
367+
description: 'Selects a field of the pod: supports metadata.name,
368+
metadata.namespace, `metadata.labels[''<KEY>'']`,
369+
`metadata.annotations[''<KEY>'']`, spec.nodeName,
370+
spec.serviceAccountName, status.hostIP, status.podIP,
371+
status.podIPs.'
372+
properties:
373+
apiVersion:
374+
description: Version of the schema the FieldPath
375+
is written in terms of, defaults to "v1".
376+
type: string
377+
fieldPath:
378+
description: Path of the field to select in the
379+
specified API version.
380+
type: string
381+
required:
382+
- fieldPath
383+
type: object
384+
x-kubernetes-map-type: atomic
385+
resourceFieldRef:
386+
description: 'Selects a resource of the container: only
387+
resources limits and requests (limits.cpu, limits.memory,
388+
limits.ephemeral-storage, requests.cpu, requests.memory
389+
and requests.ephemeral-storage) are currently supported.'
390+
properties:
391+
containerName:
392+
description: 'Container name: required for volumes,
393+
optional for env vars'
394+
type: string
395+
divisor:
396+
anyOf:
397+
- type: integer
398+
- type: string
399+
description: Specifies the output format of the
400+
exposed resources, defaults to "1"
401+
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
402+
x-kubernetes-int-or-string: true
403+
resource:
404+
description: 'Required: resource to select'
405+
type: string
406+
required:
407+
- resource
408+
type: object
409+
x-kubernetes-map-type: atomic
410+
secretKeyRef:
411+
description: Selects a key of a secret in the pod's
412+
namespace
413+
properties:
414+
key:
415+
description: The key of the secret to select from. Must
416+
be a valid secret key.
417+
type: string
418+
name:
419+
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
420+
TODO: Add other useful fields. apiVersion, kind,
421+
uid?'
422+
type: string
423+
optional:
424+
description: Specify whether the Secret or its key
425+
must be defined
426+
type: boolean
427+
required:
428+
- key
429+
type: object
430+
x-kubernetes-map-type: atomic
431+
type: object
432+
required:
433+
- name
434+
type: object
435+
type: array
436+
type: object
437+
serviceProvider:
438+
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
439+
Important: Run "make" to regenerate code after modifying this file'
440+
nullable: true
441+
properties:
442+
credentials:
443+
description: "ObjectReference contains enough information to let
444+
you inspect or modify the referred object. --- New uses of this
445+
type are discouraged because of difficulty describing its usage
446+
when embedded in APIs. 1. Ignored fields. It includes many
447+
fields which are not generally honored. For instance, ResourceVersion
448+
and FieldPath are both very rarely valid in actual usage. 2.
449+
Invalid usage help. It is impossible to add specific help for
450+
individual usage. In most embedded usages, there are particular
451+
restrictions like, \"must refer only to types A and B\" or \"UID
452+
not honored\" or \"name must be restricted\". Those cannot be
453+
well described when embedded. 3. Inconsistent validation. Because
454+
the usages are different, the validation rules are different
455+
by usage, which makes it hard for users to predict what will
456+
happen. 4. The fields are both imprecise and overly precise.
457+
\ Kind is not a precise mapping to a URL. This can produce ambiguity
458+
during interpretation and require a REST mapping. In most cases,
459+
the dependency is on the group,resource tuple and the version
460+
of the actual struct is irrelevant. 5. We cannot easily change
461+
it. Because this type is embedded in many locations, updates
462+
to this type will affect numerous schemas. Don't make new APIs
463+
embed an underspecified API type they do not control. \n Instead
464+
of using this type, create a locally provided and used type
465+
that is well-focused on your reference. For example, ServiceReferences
466+
for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
467+
."
468+
nullable: true
469+
properties:
470+
apiVersion:
471+
description: API version of the referent.
472+
type: string
473+
fieldPath:
474+
description: 'If referring to a piece of an object instead
475+
of an entire object, this string should contain a valid
476+
JSON/Go field access statement, such as desiredState.manifest.containers[2].
477+
For example, if the object reference is to a container within
478+
a pod, this would take on a value like: "spec.containers{name}"
479+
(where "name" refers to the name of the container that triggered
480+
the event) or if no container name is specified "spec.containers[2]"
481+
(container with index 2 in this pod). This syntax is chosen
482+
only to have some well-defined way of referencing a part
483+
of an object. TODO: this design is not final and this field
484+
is subject to change in the future.'
485+
type: string
486+
kind:
487+
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
488+
type: string
489+
name:
490+
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
491+
type: string
492+
namespace:
493+
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
494+
type: string
495+
resourceVersion:
496+
description: 'Specific resourceVersion to which this reference
497+
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
498+
type: string
499+
uid:
500+
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
501+
type: string
502+
type: object
503+
x-kubernetes-map-type: atomic
504+
name:
505+
enum:
506+
- flagd
507+
type: string
508+
required:
509+
- name
510+
type: object
511+
syncProvider:
512+
nullable: true
513+
properties:
514+
name:
515+
type: string
516+
required:
517+
- name
518+
type: object
519+
type: object
520+
status:
521+
description: FeatureFlagConfigurationStatus defines the observed state
522+
of FeatureFlagConfiguration
523+
type: object
524+
type: object
525+
served: true
526+
storage: false
527+
subresources:
528+
status: {}
256529
---
257530
apiVersion: v1
258531
kind: ServiceAccount

charts/ofo-v0.2.18.tgz

6.61 KB
Binary file not shown.

0 commit comments

Comments
 (0)