Maintain CRD folder to keep track of Schemas (#1938)

Adds CRD Yaml files needed for upgrade as the OpenAPISchema validation has been added.
This commit is contained in:
Harsh Thakur
2021-04-27 17:20:03 +05:30
committed by GitHub
parent 1cd8f4d4f7
commit 0d93c109fb
15 changed files with 693 additions and 251 deletions
+30
View File
@@ -0,0 +1,30 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: canaryconfigs.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: CanaryConfig
listKind: CanaryConfigList
plural: canaryconfigs
singular: canaryconfig
preserveUnknownFields: true
scope: Namespaced
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: CanaryConfig
listKind: CanaryConfigList
plural: canaryconfigs
singular: canaryconfig
conditions: []
storedVersions:
- v1
+120
View File
@@ -0,0 +1,120 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: environments.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: Environment
listKind: EnvironmentList
plural: environments
singular: environment
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Environments are the language-specific runtime parts of Fission.
An Environment contains just enough software to build and run a Fission
Function.
properties:
spec:
description: Specification of the desired behaviour of the Environment
properties:
allowAccessToExternalNetwork:
description: To enable accessibility of external network for builder/function
pod, set to 'true'.
type: boolean
allowedFunctionsPerContainer:
description: 'Allowed functions per container. Allowed Values: single,
multiple'
type: string
builder:
description: (Optional) Builder is configuration for builder manager
to launch environment builder to build source code into deployable
binary.
properties:
command:
description: (Optional) Default build command to run for this
build environment.
type: string
container:
description: |-
(Optional) Container allows the modification of the deployed runtime container using the Kubernetes Container spec. Fission overrides the following fields: Name, Image (set to the Runtime.Image), TerminationMessagePath, ImagePullPolicy
You can set either PodSpec or Container, but not both.
type: object
x-kubernetes-preserve-unknown-fields: true
image:
description: Image for containing the language runtime.
type: string
podspec:
description: |-
(Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec.
You can set either PodSpec or Container, but not both.
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
imagepullsecret:
description: ImagePullSecret is the secret for Kubernetes to pull
an image from a private registry.
type: string
keeparchive:
description: KeepArchive is used by fetcher to determine if the extracted
archive should be extracted. For compiled languages such as Java,
it should be true
type: boolean
poolsize:
description: The initial pool size for environment
type: integer
resources:
description: The request and limit CPU/MEM resource setting for the
pods of the function. Can be overridden at Function in case of newdeployment
executor type
type: object
x-kubernetes-preserve-unknown-fields: true
runtime:
description: Runtime is configuration for running function, like container
image etc.
properties:
container:
description: |-
(Optional) Container allows the modification of the deployed runtime container using the Kubernetes Container spec. Fission overrides the following fields: Name, Image (set to the Runtime.Image), TerminationMessagePath, ImagePullPolicy
You can set either PodSpec or Container, but not both.
type: object
x-kubernetes-preserve-unknown-fields: true
image:
description: Image for containing the language runtime.
type: string
podspec:
description: |-
(Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec.
You can set either PodSpec or Container, but not both.
More info for podspec:
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#podspec-v1-core
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
terminationGracePeriod:
description: The grace time for pod to perform connection draining
before termination. The unit is in seconds.
format: int64
type: integer
version:
description: Version is the Environment API version
type: integer
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: Environment
listKind: EnvironmentList
plural: environments
singular: environment
conditions: []
storedVersions:
- v1
+163
View File
@@ -0,0 +1,163 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: functions.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: Function
listKind: FunctionList
plural: functions
singular: function
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: A Function is a code and a runtime environment which can be used
to execute code
properties:
spec:
description: Specification of the desired behaviour of the Function
properties:
InvokeStrategy:
description: 'InvokeStrategy is a set of controls over how the function
executes. It affects the performance and resource usage of the function.
An InvokeStrategy is of one of two types: ExecutionStrategy, which
controls low-level parameters such as which ExecutorType to use,
when to autoscale, minimum and maximum number of running instances,
etc.'
properties:
ExecutionStrategy:
description: ExecutionStrategy specifies low-level parameters
for function execution, such as the number of instances, scaling
strategy etc.
properties:
ExecutorType:
description: 'ExecutorType is the executor type of a function
used. Defaults to poolmgr. Available value: poolmgr, newdeploy'
type: string
MaxScale:
description: Only for newdeploy executor to set up maximum
replicas of deployment.
type: integer
MinScale:
description: Only for newdeploy executor to set up minimum
replicas of deployment.
type: integer
SpecializationTimeout:
description: Timeout setting for executor to wait for pod
specialization.
type: integer
TargetCPUPercent:
description: Only for newdeploy executor to set up target
CPU utilization of HPA.
type: integer
type: object
StrategyType:
description: StrategyType is the strategy type of a function.
type: string
type: object
concurrency:
description: |-
Concurrency specifies the maximum number of pods that can be specialized concurrently to serve requests.
This is optional. If not specified default value will be taken as 500
type: integer
configmaps:
items:
description: Reference to a Kubernetes ConfigMap.
properties:
name:
description: Name of the ConfigMap to use
type: string
namespace:
description: Namespace for corresponding ConfigMap
type: string
type: object
nullable: true
type: array
environment:
description: Reference to Fission Environment type custom resource.
properties:
name:
description: Name of the Environment to use
type: string
namespace:
description: Namespace for corresponding Environment
type: string
type: object
functionTimeout:
description: |2-
FunctionTimeout provides a maximum amount of duration within which a request for a particular function execution should be complete.
This is optional. If not specified default value will be taken as 60s
type: integer
idletimeout:
description: IdleTimeout specifies the length of time that a function
is idle before the function pod(s) are eligible for deletion. If
no traffic to the function is detected within the idle timeout,
the executor will then recycle the function pod(s) to release resources.
type: integer
package:
description: FunctionPackageRef includes the reference to the package.
properties:
functionName:
description: FunctionName specifies a specific function within
the package using the path and specific function and varies
based on language/environment
type: string
packageref:
description: Package Reference
properties:
name:
description: Name of the Package to use
type: string
namespace:
description: Namespace for corresponding Package
type: string
resourceversion:
description: Including resource version in the reference forces
the function to be updated on package update, making it
possible to cache the function based on its metadata.
type: string
type: object
type: object
requestsPerPod:
description: |-
RequestsPerPod indicates the maximum number of concurrent requests that can be served by a specialized pod.
This is optional. If not specified default value will be taken as 1
type: integer
resources:
description: ResourceRequirements describes the compute resource requirements.
This is only for newdeploy to set up resource limitation when creating
deployment for a function.
type: object
x-kubernetes-preserve-unknown-fields: true
secrets:
items:
description: Reference to a Kubernetes secret.
properties:
name:
description: Name of the secret to use
type: string
namespace:
description: Namespace for corresponding secret
type: string
type: object
nullable: true
type: array
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: Function
listKind: FunctionList
plural: functions
singular: function
conditions: []
storedVersions:
- v1
+29
View File
@@ -0,0 +1,29 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: httptriggers.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: HTTPTrigger
listKind: HTTPTriggerList
plural: httptriggers
singular: httptrigger
preserveUnknownFields: true
scope: Namespaced
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: HTTPTrigger
listKind: HTTPTriggerList
plural: httptriggers
singular: httptrigger
conditions: []
storedVersions:
- v1
+29
View File
@@ -0,0 +1,29 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: kuberneteswatchtriggers.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: KubernetesWatchTrigger
listKind: KubernetesWatchTriggerList
plural: kuberneteswatchtriggers
singular: kuberneteswatchtrigger
preserveUnknownFields: true
scope: Namespaced
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: KubernetesWatchTrigger
listKind: KubernetesWatchTriggerList
plural: kuberneteswatchtriggers
singular: kuberneteswatchtrigger
conditions: []
storedVersions:
- v1
+29
View File
@@ -0,0 +1,29 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: messagequeuetriggers.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: MessageQueueTrigger
listKind: MessageQueueTriggerList
plural: messagequeuetriggers
singular: messagequeuetrigger
preserveUnknownFields: true
scope: Namespaced
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: MessageQueueTrigger
listKind: MessageQueueTriggerList
plural: messagequeuetriggers
singular: messagequeuetrigger
conditions: []
storedVersions:
- v1
+141
View File
@@ -0,0 +1,141 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
name: packages.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: Package
listKind: PackageList
plural: packages
singular: package
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: A Package is a Fission object containing a Deployment Archive
and a Source Archive (if any). A Package also references a certain environment.
properties:
spec:
description: Specification of the desired behaviour of the package.
properties:
buildcmd:
description: BuildCommand is a custom build command that builder uses
to build the source archive.
type: string
configmaps:
items:
description: Reference to a Kubernetes ConfigMap.
properties:
name:
description: Name of the ConfigMap to use
type: string
namespace:
description: Namespace for corresponding ConfigMap
type: string
type: object
nullable: true
type: array
deployment:
description: Package contains or references a collection of source
or binary files.
properties:
checksum:
description: Checksum of package contents when the contents are
stored outside the Package struct. Type is the checksum algorithm; sha256
is the only currently supported one. Sum is hex encoded.
properties:
sum:
description: ' Sum is hex encoded chechsum value.'
type: string
type:
description: ChecksumType specifies the checksum algorithm,
such as sha256, used for a checksum.
type: string
type: object
literal:
description: Literal contents of the package.
format: byte
type: string
type:
description: 'Type defines how the package is specified: literal
or url.'
type: string
url:
description: URL references a package.
type: string
type: object
environment:
description: Reference to Fission Environment type custom resource.
properties:
name:
description: Name of the Environment to use
type: string
namespace:
description: Namespace for corresponding Environment
type: string
type: object
source:
description: Package contains or references a collection of source
or binary files.
properties:
checksum:
description: Checksum of package contents when the contents are
stored outside the Package struct. Type is the checksum algorithm; sha256
is the only currently supported one. Sum is hex encoded.
properties:
sum:
description: ' Sum is hex encoded chechsum value.'
type: string
type:
description: ChecksumType specifies the checksum algorithm,
such as sha256, used for a checksum.
type: string
type: object
literal:
description: Literal contents of the package.
format: byte
type: string
type:
description: 'Type defines how the package is specified: literal
or url.'
type: string
url:
description: URL references a package.
type: string
type: object
type: object
status:
description: PackageStatus contains the build status of a package also
the build log for examination.
properties:
buildlog:
description: BuildCommand is a custom build command that builder used
to build the source archive.
type: string
buildstatus:
description: BuildStatus is the package build status.
type: string
lastUpdateTimestamp:
description: LastUpdateTimestamp will store the timestamp the package
was last updated metav1.Time is a wrapper around time.Time which
supports correct marshaling to YAML and JSON.
nullable: true
type: string
type: object
type: object
served: true
storage: true
status:
acceptedNames:
kind: Package
listKind: PackageList
plural: packages
singular: package
conditions: []
storedVersions:
- v1
+28
View File
@@ -0,0 +1,28 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: timetriggers.fission.io
spec:
conversion:
strategy: None
group: fission.io
names:
kind: TimeTrigger
listKind: TimeTriggerList
plural: timetriggers
singular: timetrigger
preserveUnknownFields: true
scope: Namespaced
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: TimeTrigger
listKind: TimeTriggerList
plural: timetriggers
singular: timetrigger
conditions: []
storedVersions:
- v1