Crds update (#2033)

* Add code generated using latest code-generator

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Update client-go and respective dependencies to v0.19.2

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Upgrading CRD version

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Minor changes

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Resolved client-go calls as per new generated code

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Function validations fix

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Fix environment and package validations

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Add basic validation to all CRDs

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Remove CRD installation related code

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Modify GHA for CRD installation

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Fix Package and HTTPTrigger validations

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Change Go version in CI to 1.15

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Style: kubebuilder marker change

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Fix test with deprecated fields

Signed-off-by: Harsh Thakur <harshthakur9030@gmail.com>

* Update kind node image to v1.16.15 in CI

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Update kind node image to v1.19.11 in CI

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Replace context Background with TODO for future implementation

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Optimize initial CRD check code

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Use Get call only to check CRDs

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Add kustomize for CRD apply

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
This commit is contained in:
Harsh Thakur
2021-05-26 15:07:03 +05:30
committed by GitHub
co-authored by Sanket Sudake
parent a9c56e5bb2
commit 1e0baf5f6c
108 changed files with 10713 additions and 2340 deletions
-30
View File
@@ -1,30 +0,0 @@
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
@@ -1,120 +0,0 @@
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
+81
View File
@@ -0,0 +1,81 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: canaryconfigs.fission.io
spec:
group: fission.io
names:
kind: CanaryConfig
listKind: CanaryConfigList
plural: canaryconfigs
singular: canaryconfig
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: CanaryConfig is for canary deployment of two functions.
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: CanaryConfigSpec defines the canary configuration spec
properties:
duration:
description: 'Weight increment interval, string representation of time.Duration, ex : 1m, 2h, 2d (default: "2m")'
type: string
failureType:
description: FailureType refers to the type of failure
type: string
failurethreshold:
description: Threshold in percentage beyond which the new version of the function is considered unstable
type: integer
newfunction:
description: New version of the function
type: string
oldfunction:
description: Old stable version of the function
type: string
trigger:
description: HTTP trigger that this config references
type: string
weightincrement:
description: Weight increment step for function
type: integer
required:
- newfunction
- oldfunction
- trigger
type: object
status:
description: CanaryConfigStatus represents canary config status
properties:
status:
type: string
required:
- status
type: object
required:
- metadata
- spec
- status
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
File diff suppressed because it is too large Load Diff
+177
View File
@@ -0,0 +1,177 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: functions.fission.io
spec:
group: fission.io
names:
kind: Function
listKind: FunctionList
plural: functions
shortNames:
- fn
singular: function
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Function is function runs within environment runtime with given package and secrets/configmaps.
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: FunctionSpec describes the contents of the function.
properties:
InvokeStrategy:
description: InvokeStrategy is a set of controls which affect how function executes
properties:
ExecutionStrategy:
description: ExecutionStrategy specifies low-level parameters for function execution, such as the number of instances.
properties:
ExecutorType:
description: "ExecutorType is the executor type of a function used. Defaults to \"poolmgr\". \n Available value: - poolmgr - newdeploy"
type: string
MaxScale:
description: This is only for newdeploy to set up maximum replicas of deployment.
type: integer
MinScale:
description: This is only for newdeploy to set up minimum replicas of deployment.
type: integer
SpecializationTimeout:
description: This is the timeout setting for executor to wait for pod specialization.
type: integer
TargetCPUPercent:
description: This is only for newdeploy to set up target CPU utilization of HPA.
type: integer
type: object
StrategyType:
description: StrategyType is the strategy type of a function. Now it only supports 'execution'.
type: string
type: object
concurrency:
description: Maximum number of pods to be specialized which will serve requests This is optional. If not specified default value will be taken as 500
type: integer
configmaps:
description: Reference to a list of configmaps.
items:
description: ConfigMapReference is a reference to a kubernetes configmap.
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
nullable: true
type: array
environment:
description: Environment is the build and runtime environment that this function is associated with. An Environment with this name should exist, otherwise the function cannot be invoked.
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
functionTimeout:
description: 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
onceOnly:
description: OnceOnly specifies if specialized pod will serve exactly one request in its lifetime and would be garbage collected after serving that one request This is optional. If not specified default value will be taken as false
type: boolean
package:
description: Reference to a package containing deployment and optionally the source.
properties:
functionName:
description: "FunctionName specifies a specific function within the package. This allows functions to share packages, by having different functions within the same package. \n Fission itself does not interpret this path. It is passed verbatim to build and runtime environments. \n This is optional: if unspecified, the environment has a default name."
type: string
packageref:
description: Package reference
properties:
name:
type: string
namespace:
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: cpu and memory resources as per K8S standards This is only for newdeploy to set up resource limitation when creating deployment for a function.
properties:
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: '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-compute-resources-container/'
type: object
type: object
secrets:
description: Reference to a list of secrets.
items:
description: SecretReference is a reference to a kubernetes secret.
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
nullable: true
type: array
required:
- InvokeStrategy
- environment
- package
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
+103
View File
@@ -0,0 +1,103 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: httptriggers.fission.io
spec:
group: fission.io
names:
kind: HTTPTrigger
listKind: HTTPTriggerList
plural: httptriggers
singular: httptrigger
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: HTTPTrigger is the trigger invokes user functions when receiving HTTP requests.
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: HTTPTriggerSpec is for router to expose user functions at the given URL path.
properties:
createingress:
description: If CreateIngress is true, router will create a ingress definition.
type: boolean
functionref:
description: FunctionReference is a reference to the target function.
properties:
functionweights:
additionalProperties:
type: integer
description: Function Reference by weight. this map contains function name as key and its weight as the value. This is for canary upgrade purpose.
nullable: true
type: object
name:
description: Name of the function.
type: string
type:
description: 'Type indicates whether this function reference is by name or selector. For now, the only supported reference type is by "name". Future reference types: * Function by label or annotation * Branch or tag of a versioned function * A "rolling upgrade" from one version of a function to another Available value: - name - function-weights'
type: string
required:
- functionweights
- name
- type
type: object
host:
description: 'TODO: remove this field since we have IngressConfig already Deprecated: the original idea of this field is not for setting Ingress. Since we have IngressConfig now, remove Host after couple releases.'
type: string
ingressconfig:
description: 'TODO: make IngressConfig a independent Fission resource IngressConfig for router to set up Ingress.'
properties:
annotations:
additionalProperties:
type: string
description: Annotations will be add to metadata when creating Ingress.
nullable: true
type: object
host:
description: Host is for ingress controller to apply rules. If host is empty or "*", the rule applies to all inbound HTTP traffic.
type: string
path:
description: Path is for path matching. The format of path depends on what ingress controller you used.
type: string
tls:
description: TLS is for user to specify a Secret that contains TLS key and certificate. The domain name in the key and crt must match the value of Host field.
type: string
type: object
method:
description: HTTP method to access a function.
type: string
relativeurl:
description: RelativeURL is the exposed URL for external client to access a function with.
type: string
required:
- functionref
- relativeurl
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
@@ -0,0 +1,83 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: kuberneteswatchtriggers.fission.io
spec:
group: fission.io
names:
kind: KubernetesWatchTrigger
listKind: KubernetesWatchTriggerList
plural: kuberneteswatchtriggers
singular: kuberneteswatchtrigger
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: KubernetesWatchTrigger watches kubernetes resource events and invokes functions.
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: KubernetesWatchTriggerSpec defines spec of KuberenetesWatchTrigger
properties:
functionref:
description: The reference to a function for kubewatcher to invoke with when receiving events.
properties:
functionweights:
additionalProperties:
type: integer
description: Function Reference by weight. this map contains function name as key and its weight as the value. This is for canary upgrade purpose.
nullable: true
type: object
name:
description: Name of the function.
type: string
type:
description: 'Type indicates whether this function reference is by name or selector. For now, the only supported reference type is by "name". Future reference types: * Function by label or annotation * Branch or tag of a versioned function * A "rolling upgrade" from one version of a function to another Available value: - name - function-weights'
type: string
required:
- functionweights
- name
- type
type: object
labelselector:
additionalProperties:
type: string
description: Resource labels
type: object
namespace:
type: string
type:
description: Type of resource to watch (Pod, Service, etc.)
type: string
required:
- functionref
- namespace
- type
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
@@ -0,0 +1,114 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: messagequeuetriggers.fission.io
spec:
group: fission.io
names:
kind: MessageQueueTrigger
listKind: MessageQueueTriggerList
plural: messagequeuetriggers
singular: messagequeuetrigger
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: MessageQueueTrigger invokes functions when messages arrive to certain topic that trigger subscribes to.
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: MessageQueueTriggerSpec defines a binding from a topic in a message queue to a function.
properties:
contentType:
description: Content type of payload
type: string
cooldownPeriod:
description: The period to wait after the last trigger reported active before scaling the deployment back to 0
format: int32
type: integer
errorTopic:
description: Topic to collect error response sent from function
type: string
functionref:
description: The reference to a function for message queue trigger to invoke with when receiving messages from subscribed topic.
properties:
functionweights:
additionalProperties:
type: integer
description: Function Reference by weight. this map contains function name as key and its weight as the value. This is for canary upgrade purpose.
nullable: true
type: object
name:
description: Name of the function.
type: string
type:
description: 'Type indicates whether this function reference is by name or selector. For now, the only supported reference type is by "name". Future reference types: * Function by label or annotation * Branch or tag of a versioned function * A "rolling upgrade" from one version of a function to another Available value: - name - function-weights'
type: string
required:
- functionweights
- name
- type
type: object
maxReplicaCount:
description: Maximum number of replicas KEDA will scale the deployment up to
format: int32
type: integer
maxRetries:
description: Maximum times for message queue trigger to retry
type: integer
messageQueueType:
description: Type of message queue (NATS, Kafka, AzureQueue)
type: string
metadata:
additionalProperties:
type: string
description: ScalerTrigger fields
type: object
minReplicaCount:
description: Minimum number of replicas KEDA will scale the deployment down to
format: int32
type: integer
mqtkind:
description: Kind of Message Queue Trigger to be created, by default its fission
type: string
pollingInterval:
description: The period to check each trigger source on every ScaledObject, and scale the deployment up or down accordingly
format: int32
type: integer
respTopic:
description: Topic for message queue trigger to sent response from function.
type: string
secret:
description: Secret name
type: string
topic:
description: Subscribed topic
type: string
required:
- topic
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
+127
View File
@@ -0,0 +1,127 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: packages.fission.io
spec:
group: fission.io
names:
kind: Package
listKind: PackageList
plural: packages
shortNames:
- pkg
singular: package
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Package Think of these as function-level images.
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: PackageSpec includes source/deploy archives and the reference of environment to build the package.
properties:
buildcmd:
description: BuildCommand is a custom build command that builder used to build the source archive.
type: string
deployment:
description: Deployment is the deployable archive that environment runtime used to run user function.
properties:
checksum:
description: Checksum ensures the integrity of packages referenced by URL. Ignored for literals.
properties:
sum:
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. Can be used for encoding packages below TODO (256KB?) size.
format: byte
type: string
type:
description: 'Type defines how the package is specified: literal or URL. Available value: - literal - url'
type: string
url:
description: URL references a package.
type: string
type: object
environment:
description: Environment is a reference to the environment for building source archive.
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
source:
description: Source is the archive contains source code and dependencies file. If the package status is in PENDING state, builder manager will then notify builder to compile source and save the result as deployable archive.
properties:
checksum:
description: Checksum ensures the integrity of packages referenced by URL. Ignored for literals.
properties:
sum:
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. Can be used for encoding packages below TODO (256KB?) size.
format: byte
type: string
type:
description: 'Type defines how the package is specified: literal or URL. Available value: - literal - url'
type: string
url:
description: URL references a package.
type: string
type: object
required:
- environment
type: object
status:
description: Status indicates the build status of package.
properties:
buildlog:
description: BuildLog stores build log during the compilation.
type: string
buildstatus:
default: Pending
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. https://github.com/kubernetes/apimachinery/blob/44bd77c24ef93cd3a5eb6fef64e514025d10d44e/pkg/apis/meta/v1/time.go#L26-L35
format: date-time
nullable: true
type: string
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
+75
View File
@@ -0,0 +1,75 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.5.0
creationTimestamp: null
name: timetriggers.fission.io
spec:
group: fission.io
names:
kind: TimeTrigger
listKind: TimeTriggerList
plural: timetriggers
singular: timetrigger
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: TimeTrigger invokes functions based on given cron schedule.
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: TimeTriggerSpec invokes the specific function at a time or times specified by a cron string.
properties:
cron:
description: Cron schedule
type: string
functionref:
description: The reference to function
properties:
functionweights:
additionalProperties:
type: integer
description: Function Reference by weight. this map contains function name as key and its weight as the value. This is for canary upgrade purpose.
nullable: true
type: object
name:
description: Name of the function.
type: string
type:
description: 'Type indicates whether this function reference is by name or selector. For now, the only supported reference type is by "name". Future reference types: * Function by label or annotation * Branch or tag of a versioned function * A "rolling upgrade" from one version of a function to another Available value: - name - function-weights'
type: string
required:
- functionweights
- name
- type
type: object
required:
- cron
- functionref
type: object
required:
- metadata
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
-163
View File
@@ -1,163 +0,0 @@
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
@@ -1,29 +0,0 @@
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
@@ -1,29 +0,0 @@
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
+13
View File
@@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
group: fission.io
resources:
- fission.io_canaryconfigs.yaml
- fission.io_environments.yaml
- fission.io_functions.yaml
- fission.io_httptriggers.yaml
- fission.io_kuberneteswatchtriggers.yaml
- fission.io_messagequeuetriggers.yaml
- fission.io_packages.yaml
- fission.io_timetriggers.yaml
-29
View File
@@ -1,29 +0,0 @@
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
@@ -1,141 +0,0 @@
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
@@ -1,28 +0,0 @@
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