From bb62bc17aeec7f0aa0eed34cf0b0c736e60bd336 Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Sat, 25 Jan 2025 11:33:58 +0530 Subject: [PATCH 1/4] Docs changes v1.21.0 Signed-off-by: Sanket Sudake --- config.toml | 2 +- content/en/docs/reference/crd-reference.md | 51 ++++++++++------------ content/en/docs/releases/v1.21.0.md | 18 ++++++++ 3 files changed, 43 insertions(+), 28 deletions(-) create mode 100644 content/en/docs/releases/v1.21.0.md diff --git a/config.toml b/config.toml index 4a40246a..dcf8e55c 100644 --- a/config.toml +++ b/config.toml @@ -111,7 +111,7 @@ privacy_policy = "" # current release branch - could be rc release_branch = "main" # the main version. Never is rc. -release_version = "v1.20.5" +release_version = "v1.21.0" slackurl = "/slack" diff --git a/content/en/docs/reference/crd-reference.md b/content/en/docs/reference/crd-reference.md index 25068d83..db80a4e5 100644 --- a/content/en/docs/reference/crd-reference.md +++ b/content/en/docs/reference/crd-reference.md @@ -109,8 +109,8 @@ _Appears in:_ | --- | --- | --- | --- | | `image` _string_ | Image for containing the language compilation environment. | | | | `command` _string_ | (Optional) Default build command to run for this build environment. | | | -| `container` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#container-v1-core)_ | (Optional) Container allows the modification of the deployed builder
container using the Kubernetes Container spec. Fission overrides
the following fields:
- Name
- Image; set to the Builder.Image
- Command; set to the Builder.Command
- TerminationMessagePath
- ImagePullPolicy
- ReadinessProbe | | | -| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podspec-v1-core)_ | PodSpec will store the spec of the pod that will be applied to the pod created for the builder | | | +| `container` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core)_ | (Optional) Container allows the modification of the deployed builder
container using the Kubernetes Container spec. Fission overrides
the following fields:
- Name
- Image; set to the Builder.Image
- Command; set to the Builder.Command
- TerminationMessagePath
- ImagePullPolicy
- ReadinessProbe | | | +| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podspec-v1-core)_ | PodSpec will store the spec of the pod that will be applied to the pod created for the builder | | | #### CanaryConfig @@ -129,7 +129,7 @@ CanaryConfig is for canary deployment of two functions. | `kind` _string_ | `CanaryConfig` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[CanaryConfigSpec](#canaryconfigspec)_ | | | | | `status` _[CanaryConfigStatus](#canaryconfigstatus)_ | | | | @@ -242,7 +242,7 @@ Environment is environment for building and running user functions. | `kind` _string_ | `Environment` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[EnvironmentSpec](#environmentspec)_ | | | | @@ -277,12 +277,12 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `version` _integer_ | Version is the Environment API version

Version "1" allows user to run code snippet in a file, and
it's supported by most of the environments except tensorflow-serving.

Version "2" supports downloading and compiling user function if source archive is not empty.

Version "3" is almost the same with v2, but you're able to control the size of pre-warm pool of the environment. | | | +| `version` _integer_ | Version is the Environment API version
Version "1" allows user to run code snippet in a file, and
it's supported by most of the environments except tensorflow-serving.
Version "2" supports downloading and compiling user function if source archive is not empty.
Version "3" is almost the same with v2, but you're able to control the size of pre-warm pool of the environment. | | | | `runtime` _[Runtime](#runtime)_ | Runtime is configuration for running function, like container image etc. | | | | `builder` _[Builder](#builder)_ | (Optional) Builder is configuration for builder manager to launch environment builder to build source code into
deployable binary. | | | | `allowedFunctionsPerContainer` _[AllowedFunctionsPerContainer](#allowedfunctionspercontainer)_ | (Optional) defaults to 'single'. Fission workflow uses
'infinite' to load multiple functions in one function pod.
Available value:
- single
- infinite | | | | `allowAccessToExternalNetwork` _boolean_ | Istio default blocks all egress traffic for safety.
To enable accessibility of external network for builder/function pod, set to 'true'.
(Optional) defaults to 'false' | | | -| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#resourcerequirements-v1-core)_ | The request and limit CPU/MEM resource setting for poolmanager to set up pods in the pre-warm pool.
(Optional) defaults to no limitation. | | | +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)_ | The request and limit CPU/MEM resource setting for poolmanager to set up pods in the pre-warm pool.
(Optional) defaults to no limitation. | | | | `poolsize` _integer_ | The initial pool size for environment | | | | `terminationGracePeriod` _integer_ | The grace time for pod to perform connection draining before termination. The unit is in seconds.
(Optional) defaults to 360 seconds | | | | `keeparchive` _boolean_ | KeepArchive is used by fetcher to determine if the extracted archive
or unarchived file should be placed, which is then used by specialize handler.
(This is mainly for the JVM environment because .jar is one kind of zip archive.) | | | @@ -296,14 +296,12 @@ _Appears in:_ ExecutionStrategy specifies low-level parameters for function execution, such as the number of instances. - MinScale affects the cold start behavior for a function. If MinScale is 0 then the deployment is created on first invocation of function and is good for requests of asynchronous nature. If MinScale is greater than 0 then MinScale number of pods are created at the time of creation of function. This ensures faster response during first invocation at the cost of consuming resources. - MaxScale is the maximum number of pods that function will scale to based on TargetCPUPercent and resources allocated to the function pod. @@ -314,13 +312,13 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `ExecutorType` _[ExecutorType](#executortype)_ | ExecutorType is the executor type of function used. Defaults to "poolmgr".

Available value:
- poolmgr
- newdeploy
- container | | | +| `ExecutorType` _[ExecutorType](#executortype)_ | ExecutorType is the executor type of function used. Defaults to "poolmgr".
Available value:
- poolmgr
- newdeploy
- container | | | | `MinScale` _integer_ | This is only for newdeploy to set up minimum replicas of deployment. | | | | `MaxScale` _integer_ | This is only for newdeploy to set up maximum replicas of deployment. | | | | `TargetCPUPercent` _integer_ | Deprecated: use hpaMetrics instead.
This is only for executor type newdeploy and container to set up target CPU utilization of HPA.
Applicable for executor type newdeploy and container. | | | | `SpecializationTimeout` _integer_ | This is the timeout setting for executor to wait for pod specialization. | | | -| `hpaMetrics` _[MetricSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#metricspec-v2-autoscaling) array_ | hpaMetrics is the list of metrics used to determine the desired replica count of the Deployment
created for the function.
Applicable for executor type newdeploy and container. | | | -| `hpaBehavior` _[HorizontalPodAutoscalerBehavior](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#horizontalpodautoscalerbehavior-v2-autoscaling)_ | hpaBehavior is the behavior of HPA when scaling in up/down direction.
Applicable for executor type newdeploy and container. | | | +| `hpaMetrics` _[MetricSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#metricspec-v2-autoscaling) array_ | hpaMetrics is the list of metrics used to determine the desired replica count of the Deployment
created for the function.
Applicable for executor type newdeploy and container. | | | +| `hpaBehavior` _[HorizontalPodAutoscalerBehavior](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#horizontalpodautoscalerbehavior-v2-autoscaling)_ | hpaBehavior is the behavior of HPA when scaling in up/down direction.
Applicable for executor type newdeploy and container. | | | #### ExecutorType @@ -373,7 +371,7 @@ Function is function runs within environment runtime with given package and secr | `kind` _string_ | `Function` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[FunctionSpec](#functionspec)_ | | | | @@ -391,7 +389,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `packageref` _[PackageRef](#packageref)_ | Package reference | | | -| `functionName` _string_ | FunctionName specifies a specific function within the package. This allows
functions to share packages, by having different functions within the same
package.

Fission itself does not interpret this path. It is passed verbatim to
build and runtime environments.

This is optional: if unspecified, the environment has a default name. | | | +| `functionName` _string_ | FunctionName specifies a specific function within the package. This allows
functions to share packages, by having different functions within the same
package.
Fission itself does not interpret this path. It is passed verbatim to
build and runtime environments.
This is optional: if unspecified, the environment has a default name. | | | #### FunctionReference @@ -445,7 +443,7 @@ _Appears in:_ | `package` _[FunctionPackageRef](#functionpackageref)_ | Reference to a package containing deployment and optionally the source. | | | | `secrets` _[SecretReference](#secretreference) array_ | Reference to a list of secrets. | | | | `configmaps` _[ConfigMapReference](#configmapreference) array_ | Reference to a list of configmaps. | | | -| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#resourcerequirements-v1-core)_ | cpu and memory resources as per K8S standards
This is only for newdeploy to set up resource limitation
when creating deployment for a function. | | | +| `resources` _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core)_ | cpu and memory resources as per K8S standards
This is only for newdeploy to set up resource limitation
when creating deployment for a function. | | | | `InvokeStrategy` _[InvokeStrategy](#invokestrategy)_ | InvokeStrategy is a set of controls which affect how function executes | | | | `functionTimeout` _integer_ | 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 | | | | `idletimeout` _integer_ | 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. | | | @@ -453,7 +451,7 @@ _Appears in:_ | `requestsPerPod` _integer_ | 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 | | | | `onceOnly` _boolean_ | 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 | | | | `retainPods` _integer_ | RetainPods specifies the number of specialized pods that should be retained after serving requests
This is optional. If not specified default value will be taken as 0 | | | -| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podspec-v1-core)_ | Podspec specifies podspec to use for executor type container based functions
Different arguments mentioned for container based function are populated inside a pod. | | | +| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podspec-v1-core)_ | Podspec specifies podspec to use for executor type container based functions
Different arguments mentioned for container based function are populated inside a pod. | | | #### HTTPTrigger @@ -472,7 +470,7 @@ HTTPTrigger is the trigger invokes user functions when receiving HTTP requests. | `kind` _string_ | `HTTPTrigger` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[HTTPTriggerSpec](#httptriggerspec)_ | | | | @@ -489,7 +487,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | -| `host` _string_ | 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. | | | +| `host` _string_ | Deprecated: the original idea of this field is not for setting Ingress.
Since we have IngressConfig now, remove Host after couple releases. | | | | `relativeurl` _string_ | RelativeURL is the exposed URL for external client to access a function with. | | | | `prefix` _string_ | Prefix with which functions are exposed.
NOTE: Prefix takes precedence over URL/RelativeURL.
Note that it does not treat slashes specially ("/foobar/" will be matched by
the prefix "/foobar"). | | | | `keepPrefix` _boolean_ | When function is exposed with Prefix based path,
keepPrefix decides whether to keep or trim prefix in URL while invoking function. | | | @@ -497,7 +495,7 @@ _Appears in:_ | `methods` _string array_ | HTTP methods to access a function | | | | `functionref` _[FunctionReference](#functionreference)_ | FunctionReference is a reference to the target function. | | | | `createingress` _boolean_ | If CreateIngress is true, router will create an ingress definition. | | | -| `ingressconfig` _[IngressConfig](#ingressconfig)_ | TODO: make IngressConfig an independent Fission resource
IngressConfig for router to set up Ingress. | | | +| `ingressconfig` _[IngressConfig](#ingressconfig)_ | IngressConfig for router to set up Ingress. | | | #### IngressConfig @@ -526,7 +524,6 @@ _Appears in:_ 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. A higher-level AbstractInvokeStrategy will also be @@ -560,7 +557,7 @@ KubernetesWatchTrigger watches kubernetes resource events and invokes functions. | `kind` _string_ | `KubernetesWatchTrigger` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[KubernetesWatchTriggerSpec](#kuberneteswatchtriggerspec)_ | | | | @@ -599,7 +596,7 @@ MessageQueueTrigger invokes functions when messages arrive to certain topic that | `kind` _string_ | `MessageQueueTrigger` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[MessageQueueTriggerSpec](#messagequeuetriggerspec)_ | | | | @@ -631,7 +628,7 @@ _Appears in:_ | `metadata` _object (keys:string, values:string)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `secret` _string_ | Secret name | | | | `mqtkind` _string_ | Kind of Message Queue Trigger to be created, by default its fission | | | -| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podspec-v1-core)_ | (Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec
The merging logic is briefly described below and detailed MergePodSpec function
- Volumes mounts and env variables for function and fetcher container are appended
- All additional containers and init containers are appended
- Volume definitions are appended
- Lists such as tolerations, ImagePullSecrets, HostAliases are appended
- Structs are merged and variables from pod spec take precedence | | | +| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podspec-v1-core)_ | (Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec
The merging logic is briefly described below and detailed MergePodSpec function
- Volumes mounts and env variables for function and fetcher container are appended
- All additional containers and init containers are appended
- Volume definitions are appended
- Lists such as tolerations, ImagePullSecrets, HostAliases are appended
- Structs are merged and variables from pod spec take precedence | | | #### MessageQueueType @@ -663,7 +660,7 @@ Package Think of these as function-level images. | `kind` _string_ | `Package` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[PackageSpec](#packagespec)_ | | | | | `status` _[PackageStatus](#packagestatus)_ | Status indicates the build status of package. | | | @@ -720,7 +717,7 @@ _Appears in:_ | --- | --- | --- | --- | | `buildstatus` _[BuildStatus](#buildstatus)_ | BuildStatus is the package build status. | pending | | | `buildlog` _string_ | BuildLog stores build log during the compilation. | | | -| `lastUpdateTimestamp` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#time-v1-meta)_ | 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 | | | +| `lastUpdateTimestamp` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta)_ | 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 | | | @@ -739,8 +736,8 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `image` _string_ | Image for containing the language runtime. | | | -| `container` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#container-v1-core)_ | (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.
kubebuilder:validation:XPreserveUnknownFields=true | | | -| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#podspec-v1-core)_ | (Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec
The merging logic is briefly described below and detailed MergePodSpec function
- Volumes mounts and env variables for function and fetcher container are appended
- All additional containers and init containers are appended
- Volume definitions are appended
- Lists such as tolerations, ImagePullSecrets, HostAliases are appended
- Structs are merged and variables from pod spec take precedence

You can set either PodSpec or Container, but not both. | | | +| `container` _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#container-v1-core)_ | (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.
kubebuilder:validation:XPreserveUnknownFields=true | | | +| `podspec` _[PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podspec-v1-core)_ | (Optional) Podspec allows modification of deployed runtime pod with Kubernetes PodSpec
The merging logic is briefly described below and detailed MergePodSpec function
- Volumes mounts and env variables for function and fetcher container are appended
- All additional containers and init containers are appended
- Volume definitions are appended
- Lists such as tolerations, ImagePullSecrets, HostAliases are appended
- Structs are merged and variables from pod spec take precedence
You can set either PodSpec or Container, but not both. | | | #### SecretReference @@ -789,7 +786,7 @@ TimeTrigger invokes functions based on given cron schedule. | `kind` _string_ | `TimeTrigger` | | | | `kind` _string_ | 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 | | | | `apiVersion` _string_ | 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 | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[TimeTriggerSpec](#timetriggerspec)_ | | | | diff --git a/content/en/docs/releases/v1.21.0.md b/content/en/docs/releases/v1.21.0.md new file mode 100644 index 00000000..68c70dd7 --- /dev/null +++ b/content/en/docs/releases/v1.21.0.md @@ -0,0 +1,18 @@ +--- +title: "v1.20.5" +linkTitle: v1.20.5 +weight: 72 +--- + +## Features + +## Fixes + +## Changelog + + +## References + +- [Environments](/environments/) +- [Custom Resource Definition Specification](https://doc.crds.dev/github.com/fission/fission) +- [Releases](https://github.com/fission/fission/releases) \ No newline at end of file From 81b5f05d942dbd4df7be01e80273eee8f37687e8 Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Sat, 25 Jan 2025 17:14:02 +0530 Subject: [PATCH 2/4] Update dependencies Signed-off-by: Sanket Sudake --- go.mod | 4 ++-- go.sum | 6 +++--- netlify.toml | 16 ++++++++-------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 7cbf6ce4..f31e6c02 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/fission/fission.io -go 1.23.1 +go 1.23.5 require ( - github.com/google/docsy v0.10.0 // indirect + github.com/google/docsy v0.11.0 // indirect github.com/google/docsy/dependencies v0.7.2 // indirect ) diff --git a/go.sum b/go.sum index 93dc7afc..7d2f09f1 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= -github.com/google/docsy v0.10.0 h1:6tMDacPwAyRWNCfvsn/9qGOZDQ8b0aRzjRZvnZPY5dg= -github.com/google/docsy v0.10.0/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/FortAwesome/Font-Awesome v0.0.0-20240716171331-37eff7fa00de/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.11.0 h1:QnV40cc28QwS++kP9qINtrIv4hlASruhC/K3FqkHAmM= +github.com/google/docsy v0.11.0/go.mod h1:hGGW0OjNuG5ZbH5JRtALY3yvN8ybbEP/v2iaK4bwOUI= github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI= github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/netlify.toml b/netlify.toml index 4c688a07..3c5233cd 100644 --- a/netlify.toml +++ b/netlify.toml @@ -5,21 +5,21 @@ publish = "public" [context.production.environment] HUGO_ENABLEGITINFO = "true" HUGO_ENV = "production" -HUGO_VERSION = "0.134.2" -GO_VERSION = "1.23.1" +HUGO_VERSION = "0.142.0" +GO_VERSION = "1.23.5" [context.split1.environment] HUGO_ENV = "production" -HUGO_VERSION = "0.134.2" -GO_VERSION = "1.23.1" +HUGO_VERSION = "0.142.0" +GO_VERSION = "1.23.5" [context.deploy-preview.environment] -HUGO_VERSION = "0.134.2" -GO_VERSION = "1.23.1" +HUGO_VERSION = "0.142.0" +GO_VERSION = "1.23.5" [context.branch-deploy.environment] -HUGO_VERSION = "0.134.2" -GO_VERSION = "1.23.1" +HUGO_VERSION = "0.142.0" +GO_VERSION = "1.23.5" [context.next.environment] HUGO_ENABLEGITINFO = "true" From a18ab8332d0ebc2e7da43adf0190460d85f1c25d Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Sat, 25 Jan 2025 17:53:42 +0530 Subject: [PATCH 3/4] minimum k8 version 1.27 Signed-off-by: Sanket Sudake --- content/en/docs/installation/_index.en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/installation/_index.en.md b/content/en/docs/installation/_index.en.md index ac186150..b3fa0647 100644 --- a/content/en/docs/installation/_index.en.md +++ b/content/en/docs/installation/_index.en.md @@ -17,7 +17,7 @@ If you already have Helm, [skip ahead to the fission install](#install-fission). If you don't have a Kubernetes cluster, [here's a official guide to set one up](https://kubernetes.io/docs/setup/). {{< notice info >}} -Fission requires Kubernetes 1.25 or higher +Fission requires Kubernetes 1.27 or higher {{< /notice >}} ### Kubectl From 646df439c5e58f7ed486bca321874dee11b2e8e6 Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Sat, 25 Jan 2025 22:20:53 +0530 Subject: [PATCH 4/4] Update release notes Signed-off-by: Sanket Sudake --- content/en/docs/releases/v1.21.0.md | 66 +++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/content/en/docs/releases/v1.21.0.md b/content/en/docs/releases/v1.21.0.md index 68c70dd7..55db4e3d 100644 --- a/content/en/docs/releases/v1.21.0.md +++ b/content/en/docs/releases/v1.21.0.md @@ -1,15 +1,75 @@ --- -title: "v1.20.5" -linkTitle: v1.20.5 +title: "v1.21.0" +linkTitle: v1.21.0 weight: 72 --- -## Features +## Deprecations/Removals + +- We are supporting Kubernetes version 1.27.0 and above. Older versions are no longer supported. +- We are pushing images to GHCR repo only. The DockerHub images are deprecated and will not be updated further. This applies to all Fission components, environments and keda-connector images. ## Fixes +- We have fixed critical security issues in the Fission codebase. +- We have also removed/replaced vulnerable dependencies in the Fission codebase. +- We have SBOM, provenance and key verification for all binaries and images. This ensures the authenticity of the binaries and images. +- Minor fixes and improvements in helm charts + ## Changelog +* Fix: an invalid env manifest file breaks the executor component which stops the creation and deletion of envs by @soharab-ic in [#3034](https://github.com/fission/fission/pull/3034) +* Add podSpec to generated environment manifest by @soharab-ic in [#3033](https://github.com/fission/fission/pull/3033) +* Update K8s version for envtest to 1.30.x by @soharab-ic in [#3038](https://github.com/fission/fission/pull/3038) +* Remove unreachable code by @soharab-ic in [#3039](https://github.com/fission/fission/pull/3039) +* Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by [@dependabot](https://github.com/dependabot) in [#3056](https://github.com/fission/fission/pull/3056) +* Add path safety fixes by [@sanketsudake](https://github.com/sanketsudake) in [#3061](https://github.com/fission/fission/pull/3061) +* Add OpenSSF Scorecard action by [@sanketsudake](https://github.com/sanketsudake) in [#3066](https://github.com/fission/fission/pull/3066) +* Add OpenSSF scorecard badge by [@sanketsudake](https://github.com/sanketsudake) in [#3067](https://github.com/fission/fission/pull/3067) +* Apply best security practices for OpenSSF by [@sanketsudake](https://github.com/sanketsudake) in [#3069](https://github.com/fission/fission/pull/3069) +* Bump actions/setup-go from 5.0.2 to 5.1.0 by [@dependabot](https://github.com/dependabot) in [#3074](https://github.com/fission/fission/pull/3074) +* Bump actions/upload-artifact from 4.4.0 to 4.4.3 by [@dependabot](https://github.com/dependabot) in [#3073](https://github.com/fission/fission/pull/3073) +* Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 by [@dependabot](https://github.com/dependabot) in [#3072](https://github.com/fission/fission/pull/3072) +* Bump codecov/codecov-action from 4.5.0 to 5.1.1 by [@dependabot](https://github.com/dependabot) in [#3071](https://github.com/fission/fission/pull/3071) +* Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 by [@dependabot](https://github.com/dependabot) in [#3070](https://github.com/fission/fission/pull/3070) +* Skip CI for dependabot PR and remove manual dispatch by [@sanketsudake](https://github.com/sanketsudake) in [#3080](https://github.com/fission/fission/pull/3080) +* Update Go dependencies by [@sanketsudake](https://github.com/sanketsudake) in [#3081](https://github.com/fission/fission/pull/3081) +* Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 by [@dependabot](https://github.com/dependabot) in [#3077](https://github.com/fission/fission/pull/3077) +* Add provenance steps for release by [@sanketsudake](https://github.com/sanketsudake) in [#3083](https://github.com/fission/fission/pull/3083) +* Update dependabot config by [@sanketsudake](https://github.com/sanketsudake) in [#3094](https://github.com/fission/fission/pull/3094) +* Grouped dependabot updates for dockerfile and github-actions by [@sanketsudake](https://github.com/sanketsudake) in [#3111](https://github.com/fission/fission/pull/3111) +* Bump the global group with 9 updates by [@dependabot](https://github.com/dependabot) in [#3118](https://github.com/fission/fission/pull/3118) +* Update dependabot.yml grouping by [@sanketsudake](https://github.com/sanketsudake) in [#3119](https://github.com/fission/fission/pull/3119) +* Bump golang.org/x/crypto from 0.28.0 to 0.31.0 in the go_modules group by [@dependabot](https://github.com/dependabot) in [#3110](https://github.com/fission/fission/pull/3110) +* Bump the docker-images group across 5 directories with 1 update by [@dependabot](https://github.com/dependabot) in [#3121](https://github.com/fission/fission/pull/3121) +* Bump helm/kind-action from 1.11.0 to 1.12.0 in the github-actions group by [@dependabot](https://github.com/dependabot) in [#3122](https://github.com/fission/fission/pull/3122) +* Fix SBOM and provenance for releases by [@sanketsudake](https://github.com/sanketsudake) in [#3124](https://github.com/fission/fission/pull/3124) +* Update Go version to 1.23.4 by [@sanketsudake](https://github.com/sanketsudake) in [#3126](https://github.com/fission/fission/pull/3126) +* Bump the go-dependencies group across 1 directory with 25 updates by [@dependabot](https://github.com/dependabot) in [#3125](https://github.com/fission/fission/pull/3125) +* fix: apply kubernetes resources to the webhook-server by [@mrsimonemms](https://github.com/mrsimonemms) in [#3084](https://github.com/fission/fission/pull/3084) +* Log only related configmap and secret by [@lx1036](https://github.com/lx1036) in [#3049](https://github.com/fission/fission/pull/3049) +* fix: fix slice init length by [@occupyhabit](https://github.com/occupyhabit) in [#3064](https://github.com/fission/fission/pull/3064) +* Update create.go to handle namespace isolation by [@sofsms](https://github.com/sofsms) in [#3130](https://github.com/fission/fission/pull/3130) +* Bump the docker-images group across 5 directories with 1 update by [@dependabot](https://github.com/dependabot) in [#3132](https://github.com/fission/fission/pull/3132) +* Bump the go-dependencies group with 3 updates by [@dependabot](https://github.com/dependabot) in [#3131](https://github.com/fission/fission/pull/3131) +* Use controller-gen and code-generator latest version by [@sanketsudake](https://github.com/sanketsudake) in [#3133](https://github.com/fission/fission/pull/3133) +* Use mholt/archives instead of mholt/archiver by [@sanketsudake](https://github.com/sanketsudake) in [#3128](https://github.com/fission/fission/pull/3128) +* Update k8s versions and set minimum version to 1.27.0 by [@sanketsudake](https://github.com/sanketsudake) in [#3134](https://github.com/fission/fission/pull/3134) +* Bump the go-dependencies group with 4 updates by [@dependabot](https://github.com/dependabot) in [#3141](https://github.com/fission/fission/pull/3141) +* Bump the github-actions group with 4 updates by [@dependabot](https://github.com/dependabot) in [#3140](https://github.com/fission/fission/pull/3140) +* PR-3051: Fix download deploy package out of k8s cluster by @soharab-ic in [#3136](https://github.com/fission/fission/pull/3136) +* Update chart version v1.21.0-rc1 by [@sanketsudake](https://github.com/sanketsudake) in [#3143](https://github.com/fission/fission/pull/3143) +* Use GHCR repo for fetcher image by default by [@sanketsudake](https://github.com/sanketsudake) in [#3145](https://github.com/fission/fission/pull/3145) +* Bump the docker-images group across 5 directories with 1 update by [@dependabot](https://github.com/dependabot) in [#3139](https://github.com/fission/fission/pull/3139) +* Update chart version v1.21.0-rc2 by [@sanketsudake](https://github.com/sanketsudake) in [#3146](https://github.com/fission/fission/pull/3146) +* fix: custom runtime container name is invalid by [@lcgash](https://github.com/lcgash) in [#3065](https://github.com/fission/fission/pull/3065) +* Bump the github-actions group with 2 updates by [@dependabot](https://github.com/dependabot) in [#3148](https://github.com/fission/fission/pull/3148) +* Bump the docker-images group across 5 directories with 1 update by [@dependabot](https://github.com/dependabot) in [#3149](https://github.com/fission/fission/pull/3149) +* Duplicate Job names in helm chart templates by [@sanketsudake](https://github.com/sanketsudake) in [#3150](https://github.com/fission/fission/pull/3150) +* Adopt custom defaulter and validator interface for webhooks intead of deprecated default by [@sanketsudake](https://github.com/sanketsudake) in [#3152](https://github.com/fission/fission/pull/3152) +* Update SECURITY.md by [@sanketsudake](https://github.com/sanketsudake) in [#3151](https://github.com/fission/fission/pull/3151) +* Bump the go-dependencies group with 17 updates by [@dependabot](https://github.com/dependabot) in [#3147](https://github.com/fission/fission/pull/3147) +* Update all images used to GHCR repo by [@sanketsudake](https://github.com/sanketsudake) in [#3154](https://github.com/fission/fission/pull/3154) ## References