Skip to content

Commit

Permalink
generate CRD yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
gabemontero committed Nov 12, 2019
1 parent 65fc747 commit 3139ff9
Show file tree
Hide file tree
Showing 6 changed files with 305 additions and 124 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ $(call add-crd-gen,console,./console/v1,./console/v1,./console/v1)
$(call add-crd-gen,operator,./operator/v1,./operator/v1,./operator/v1)
$(call add-crd-gen,operator-alpha,./operator/v1alpha1,./operator/v1alpha1,./operator/v1alpha1)
$(call add-crd-gen,quota,./quota/v1,./quota/v1,./quota/v1)
$(call add-crd-gen,samples,./samples/v1,./samples/v1,./samples/v1)
$(call add-crd-gen,security,./security/v1,./security/v1,./security/v1)

RUNTIME ?= podman
Expand Down
173 changes: 173 additions & 0 deletions samples/v1/0000_10_samplesconfig.crd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: configs.samples.operator.openshift.io
annotations:
displayName: ConfigsSamples
description: Extension for configuring openshif samples operator.
spec:
scope: Cluster
preserveUnknownFields: false
group: samples.operator.openshift.io
versions:
- name: v1
served: true
storage: true
names:
plural: configs
singular: config
kind: Config
listKind: ConfigList
"validation":
"openAPIV3Schema":
description: Config contains the configuration and detailed condition status
for the Samples Operator.
type: object
required:
- metadata
- spec
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ConfigSpec contains the desired configuration and state for
the Samples Operator, controlling various behavior around the imagestreams
and templates it creates/updates in the openshift namespace.
type: object
properties:
architectures:
description: architectures determine which hardware architecture(s)
to install, where x86_64, ppc64le, and s390x are the only supported
choices currently.
type: array
items:
type: string
managementState:
description: managementState is top level on/off type of switch for
all operators. When "Managed", this operator processes config and
manipulates the samples accordingly. When "Unmanaged", this operator
ignores any updates to the resources it watches. When "Removed", it
reacts that same wasy as it does if the Config object is deleted,
meaning any ImageStreams or Templates it manages (i.e. it honors the
skipped lists) and the registry secret are deleted, along with the
ConfigMap in the operator's namespace that represents the last config
used to manipulate the samples,
type: string
pattern: ^(Managed|Unmanaged|Force|Removed)$
samplesRegistry:
description: samplesRegistry allows for the specification of which registry
is accessed by the ImageStreams for their image content. Defaults
on the content in https://github.com/openshift/library that are pulled
into this github repository, but based on our pulling only ocp content
it typically defaults to registry.redhat.io.
type: string
skippedImagestreams:
description: skippedImagestreams specifies names of image streams that
should NOT be created/updated. Admins can use this to allow them
to delete content they don’t want. They will still have to manually
delete the content but the operator will not recreate(or update) anything
listed here.
type: array
items:
type: string
skippedTemplates:
description: skippedTemplates specifies names of templates that should
NOT be created/updated. Admins can use this to allow them to delete
content they don’t want. They will still have to manually delete
the content but the operator will not recreate(or update) anything
listed here.
type: array
items:
type: string
status:
description: ConfigStatus contains the actual configuration in effect, as
well as various details that describe the state of the Samples Operator.
type: object
properties:
architectures:
description: architectures determine which hardware architecture(s)
to install, where x86_64 and ppc64le are the supported choices.
type: array
items:
type: string
conditions:
description: conditions represents the available maintenance status
of the sample imagestreams and templates.
type: array
items:
description: ConfigCondition captures various conditions of the Config
as entries are processed.
type: object
required:
- status
- type
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another.
type: string
format: date-time
lastUpdateTime:
description: lastUpdateTime is the last time this condition was
updated.
type: string
format: date-time
message:
description: message is a human readable message indicating details
about the transition.
type: string
reason:
description: reason is what caused the condition's last transition.
type: string
status:
description: status of the condition, one of True, False, Unknown.
type: string
type:
description: type of condition.
type: string
managementState:
description: managementState reflects the current operational status
of the on/off switch for the operator. This operator compares the
ManagementState as part of determining that we are turning the operator
back on (i.e. "Managed") when it was previously "Unmanaged".
type: string
pattern: ^(Managed|Unmanaged|Force|Removed)$
samplesRegistry:
description: samplesRegistry allows for the specification of which registry
is accessed by the ImageStreams for their image content. Defaults
on the content in https://github.com/openshift/library that are pulled
into this github repository, but based on our pulling only ocp content
it typically defaults to registry.redhat.io.
type: string
skippedImagestreams:
description: skippedImagestreams specifies names of image streams that
should NOT be created/updated. Admins can use this to allow them
to delete content they don’t want. They will still have to manually
delete the content but the operator will not recreate(or update) anything
listed here.
type: array
items:
type: string
skippedTemplates:
description: skippedTemplates specifies names of templates that should
NOT be created/updated. Admins can use this to allow them to delete
content they don’t want. They will still have to manually delete
the content but the operator will not recreate(or update) anything
listed here.
type: array
items:
type: string
version:
description: version is the value of the operator's payload based version
indicator when it was last successfully processed
type: string
6 changes: 5 additions & 1 deletion samples/v1/doc.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// +k8s:deepcopy-gen=package
// +k8s:deepcopy-gen=package,register
// +k8s:defaulter-gen=TypeMeta
// +k8s:openapi-gen=true

// +groupName=samples.operator.openshift.io
// Package v1 ist he v1 version of the API.
package v1
49 changes: 26 additions & 23 deletions samples/v1/generated.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3139ff9

Please sign in to comment.