Skip to content

OpenFunction/charts

Repository files navigation

openfunction

Version: 0.7.0Type: applicationAppVersion: 1.2.0

A Helm chart for OpenFunction on Kubernetes

Maintainers

NameEmailUrl
wangyifei[email protected]

Source Code

Requirements

Kubernetes: >=v1.23.0-0

RepositoryNameVersionAppVersion
file://charts/knative-servingknative-serving1.3.21.3.2
file://charts/shipwright-buildshipwright-build0.10.00.10.0
file://charts/tekton-pipelinestekton-pipelines0.37.20.37.2
https://charts.bitnami.com/bitnamicontour10.2.21.23.3
https://dapr.github.io/helm-charts/dapr1.11.31.11.3
https://kedacore.github.io/chartskeda2.11.22.11.2

Install the Chart

Ensure Helm is initialized in your Kubernetes cluster.

For more details on initializing Helm, read the Helm docs

  1. Run the following command to add the OpenFunction chart repository first:

    helm repo add openfunction https://openfunction.github.io/charts/ helm repo update
  2. Then you have several options to setup OpenFunction, you can choose to:

    • Install all components:

      kubectl create namespace openfunction helm install openfunction openfunction/openfunction -n openfunction
    • Install Serving only (without build):

      kubectl create namespace openfunction helm install openfunction --set global.ShipwrightBuild.enabled=false --set global.TektonPipelines.enabled=false openfunction/openfunction -n openfunction
    • Install Knative sync runtime only:

      kubectl create namespace openfunction helm install openfunction --set global.Keda.enabled=false openfunction/openfunction -n openfunction
    • Install KedaHttp sync runtime only:

      kubectl create namespace openfunction helm install openfunction --set global.KnativeServing.enabled=false openfunction/openfunction -n openfunction
      helm repo add kedacore https://kedacore.github.io/charts helm repo update helm install http-add-on kedacore/keda-add-ons-http --create-namespace -n keda
    • Install OpenFunction async runtime only:

      kubectl create namespace openfunction helm install openfunction --set global.Contour.enabled=false --set global.KnativeServing.enabled=false openfunction/openfunction -n openfunction

Verify installation

kubectl get po -n openfunction 

Uninstall the Chart

To uninstall/delete the openfunction release:

helm uninstall openfunction -n openfunction 

Upgrading Chart

helm upgrade [RELEASE_NAME] openfunction/openfunction -n openfunction --no-hooks

With Helm v3, CRDs created by this chart are not updated by default and should be manually updated. Consult also the Helm Documentation on CRDs.

See helm upgrade for command documentation.

Upgrading an existing Release to a new version

From OpenFunction v1.1.x to OpenFunction v1.2.x

Uninstall the Chart

First, you'll need to uninstall the old openfunction release:

helm uninstall openfunction -n openfunction

Upgrade OpenFunction CRDs

Then you'll need to upgrade the new OpenFunction CRDs

kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v1.2.0/openfunction.yaml

Install new chart

helm repo update helm install openfunction openfunction/openfunction -n openfunction

From OpenFunction v1.0.x to OpenFunction v1.1.x

Uninstall the Chart

First, you'll need to uninstall the old openfunction release:

helm uninstall openfunction -n openfunction

Upgrade OpenFunction CRDs

Then you'll need to upgrade the new OpenFunction CRDs

kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v1.1.0/openfunction.yaml

Install new chart

helm repo update helm install openfunction openfunction/openfunction -n openfunction

From OpenFunction v0.8.x to OpenFunction v1.0.x

Uninstall the Chart

First, you'll need to uninstall the old openfunction release:

helm uninstall openfunction -n openfunction

Upgrade OpenFunction CRDs

Then you'll need to upgrade the new OpenFunction CRDs

kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v1.0.0/openfunction.yaml

Install new chart

helm repo update helm install openfunction openfunction/openfunction -n openfunction

From OpenFunction v0.7.x to OpenFunction v0.8.x

helm upgrade openfunction openfunction/openfunction -n openfunction --no-hooks

From OpenFunction v0.6.0 to OpenFunction v0.7.x

There is a breaking change when upgrading from v0.6.0 to 0.7.x which requires additional manual operations.

Uninstall the Chart

First, you'll need to uninstall the old openfunction release:

helm uninstall openfunction -n openfunction

Confirm that the component namespaces have been deleted, it will take a while:

kubectl get ns -o=jsonpath='{range .items[?(@.metadata.annotations.meta\.helm\.sh/release-name=="openfunction")]}{.metadata.name}:{.status.phase}{"\n"}{end}'

If the knative-serving namespace is in the terminating state for a long time, try running the following command and remove finalizers:

kubectl edit ingresses.networking.internal.knative.dev -n knative-serving

Upgrade OpenFunction CRDs

Then you'll need to upgrade the new OpenFunction CRDs

kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v0.7.0/openfunction.yaml

Upgrade dependent components CRDs

You also need to upgrade the dependent components' CRDs

You only need to deal with the components included in the existing Release.

  • knative-serving CRDs
    kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v0.7.0/knative-serving.yaml
  • shipwright-build CRDs
    kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v0.7.0/shipwright-build.yaml
  • tekton-pipelines CRDs
    kubectl apply -f https://openfunction.sh1a.qingstor.com/crds/v0.7.0/tekton-pipelines.yaml

Install new chart

helm repo update helm install openfunction openfunction/openfunction -n openfunction

Values

KeyTypeDefaultDescription
config.daprProxyImagestring"openfunction/dapr-proxy:v0.1.1"
config.eventsourceHandlerImagestring"openfunction/eventsource-handler:v4"
config.knativeServingConfigFeaturesNamestring"config-features"
config.knativeServingNamespacestring"knative-serving"
config.tracingstring"enabled: false\nprovider:\n name: \"skywalking\"\n oapServer: \"localhost:xxx\"\ntags:\n func: function-with-tracing\n layer: faas\n tag1: value1\n tag2: value2\nbaggage:\n key: sw8-correlation\n value: \"base64(string key):base64(string value),base64(string key2):base64(string value2)\"\n"
config.triggerHandlerImagestring"openfunction/trigger-handler:v4"
contour.configInline.gateway.controllerNamestring"projectcontour.io/projectcontour/contour"
contour.contour.ingressClass.namestring"contour"
contour.fullnameOverridestring"contour"
contour.namespaceOverridestring"projectcontour"
controllerManager.kubeRbacProxy.image.repositorystring"openfunction/kube-rbac-proxy"
controllerManager.kubeRbacProxy.image.tagstring"v0.8.0"
controllerManager.openfunction.image.repositorystring"openfunction/openfunction"
controllerManager.openfunction.image.tagstring"v1.2.0"
controllerManager.openfunction.resources.limits.cpustring"500m"
controllerManager.openfunction.resources.limits.memorystring"500Mi"
controllerManager.openfunction.resources.requests.cpustring"100m"
controllerManager.openfunction.resources.requests.memorystring"20Mi"
controllerManager.replicasint1
global.Contour.enabledbooltrue
global.Dapr.enabledbooltrue
global.Keda.enabledbooltrue
global.KnativeServing.enabledbooltrue
global.ShipwrightBuild.enabledbooltrue
global.TektonPipelines.enabledbooltrue
keda.image.keda.repositorystring"openfunction/keda"
keda.image.keda.tagstring"2.11.2"
keda.image.metricsApiServer.repositorystring"openfunction/keda-metrics-apiserver"
keda.image.metricsApiServer.tagstring"2.11.2"
keda.image.webhooks.repositorystring"openfunction/keda-admission-webhooks"
keda.image.webhooks.tagstring"2.11.2"
keda.resources.metricServerobject{"limits":{"cpu":1,"memory":"1000Mi"},"requests":{"cpu":"100m","memory":"100Mi"}}Manage [resource request & limits] of KEDA metrics apiserver pod
keda.resources.operatorobject{"limits":{"cpu":1,"memory":"1000Mi"},"requests":{"cpu":"100m","memory":"100Mi"}}Manage [resource request & limits] of KEDA operator pod
keda.resources.webhooksobject{"limits":{"cpu":"50m","memory":"100Mi"},"requests":{"cpu":"10m","memory":"10Mi"}}Manage [resource request & limits] of KEDA admission webhooks pod
knative-serving.activator.activator.image.repositorystring"openfunction/knative.dev-serving-cmd-activator"
knative-serving.activator.activator.resources.limits.cpustring"1"
knative-serving.activator.activator.resources.limits.memorystring"600Mi"
knative-serving.activator.activator.resources.requests.cpustring"300m"
knative-serving.activator.activator.resources.requests.memorystring"60Mi"
knative-serving.autoscaler.autoscaler.image.repositorystring"openfunction/knative.dev-serving-cmd-autoscaler"
knative-serving.autoscaler.autoscaler.resources.limits.cpustring"1"
knative-serving.autoscaler.autoscaler.resources.limits.memorystring"1000Mi"
knative-serving.autoscaler.autoscaler.resources.requests.cpustring"100m"
knative-serving.autoscaler.autoscaler.resources.requests.memorystring"100Mi"
knative-serving.configDeployment.queueSidecarImage.repositorystring"openfunction/knative.dev-serving-cmd-queue"
knative-serving.controller.controller.image.repositorystring"openfunction/knative.dev-serving-cmd-controller"
knative-serving.controller.controller.resources.limits.cpustring"1"
knative-serving.controller.controller.resources.limits.memorystring"1000Mi"
knative-serving.controller.controller.resources.requests.cpustring"100m"
knative-serving.controller.controller.resources.requests.memorystring"100Mi"
knative-serving.defaultDomain.job.image.repositorystring"openfunction/knative.dev-serving-cmd-default-domain"
knative-serving.domainMapping.domainMapping.image.repositorystring"openfunction/knative.dev-serving-cmd-domain-mapping"
knative-serving.domainMapping.domainMapping.resources.limits.cpustring"300m"
knative-serving.domainMapping.domainMapping.resources.limits.memorystring"400Mi"
knative-serving.domainMapping.domainMapping.resources.requests.cpustring"30m"
knative-serving.domainMapping.domainMapping.resources.requests.memorystring"40Mi"
knative-serving.domainmappingWebhook.domainmappingWebhook.image.repositorystring"openfunction/knative.dev-serving-cmd-domain-mapping-webhook"
knative-serving.domainmappingWebhook.domainmappingWebhook.resources.limits.cpustring"500m"
knative-serving.domainmappingWebhook.domainmappingWebhook.resources.limits.memorystring"500Mi"
knative-serving.domainmappingWebhook.domainmappingWebhook.resources.requests.cpustring"100m"
knative-serving.domainmappingWebhook.domainmappingWebhook.resources.requests.memorystring"100Mi"
knative-serving.netContourController.controller.image.repositorystring"openfunction/knative.dev-net-contour-cmd-controller"
knative-serving.netContourController.controller.resources.limits.cpustring"400m"
knative-serving.netContourController.controller.resources.limits.memorystring"400Mi"
knative-serving.netContourController.controller.resources.requests.cpustring"40m"
knative-serving.netContourController.controller.resources.requests.memorystring"40Mi"
knative-serving.webhook.webhook.image.repositorystring"openfunction/knative.dev-serving-cmd-webhook"
knative-serving.webhook.webhook.resources.limits.cpustring"500m"
knative-serving.webhook.webhook.resources.limits.memorystring"500Mi"
knative-serving.webhook.webhook.resources.requests.cpustring"100m"
knative-serving.webhook.webhook.resources.requests.memorystring"100Mi"
kubernetesClusterDomainstring"cluster.local"
managerConfig.controllerManagerConfigYaml.health.healthProbeBindAddressstring":8081"
managerConfig.controllerManagerConfigYaml.leaderElection.leaderElectbooltrue
managerConfig.controllerManagerConfigYaml.leaderElection.resourceNamestring"79f0111e.openfunction.io"
managerConfig.controllerManagerConfigYaml.metrics.bindAddressstring"127.0.0.1:8080"
managerConfig.controllerManagerConfigYaml.webhook.portint9443
metricsService.ports[0].namestring"https"
metricsService.ports[0].portint8443
metricsService.ports[0].targetPortstring"https"
metricsService.typestring"ClusterIP"
revisionController.enableboolfalse
revisionController.image.pullPolicystring"IfNotPresent"
revisionController.image.repositorystring"openfunction/revision-controller"
revisionController.image.tagstring"v1.0.0"
shipwright-build.shipwrightBuildController.shipwrightBuild.BUNDLE_CONTAINER_IMAGE.repositorystring"openfunction/shipwright-bundle"
shipwright-build.shipwrightBuildController.shipwrightBuild.GIT_CONTAINER_IMAGE.repositorystring"openfunction/shipwright-io-build-git"
shipwright-build.shipwrightBuildController.shipwrightBuild.MUTATE_IMAGE_CONTAINER_IMAGE.repositorystring"openfunction/shipwright-mutate-image"
shipwright-build.shipwrightBuildController.shipwrightBuild.WAITER_CONTAINER_IMAGE.repositorystring"openfunction/shipwright-waiter"
shipwright-build.shipwrightBuildController.shipwrightBuild.image.repositorystring"openfunction/shipwright-shipwright-build-controller"
tekton-pipelines.controller.tektonPipelinesController.entrypointImage.repositorystring"openfunction/tektoncd-pipeline-cmd-entrypoint"
tekton-pipelines.controller.tektonPipelinesController.gitImage.repositorystring"openfunction/tektoncd-pipeline-cmd-git-init"
tekton-pipelines.controller.tektonPipelinesController.gsutilImage.digeststring"sha256:27b2c22bf259d9bc1a291e99c63791ba0c27a04d2db0a43241ba0f1f20f4067f"
tekton-pipelines.controller.tektonPipelinesController.gsutilImage.repositorystring"openfunction/cloudsdktool-cloud-sdk"
tekton-pipelines.controller.tektonPipelinesController.image.repositorystring"openfunction/tektoncd-pipeline-cmd-controller"
tekton-pipelines.controller.tektonPipelinesController.imagedigestExporterImage.repositorystring"openfunction/tektoncd-pipeline-cmd-imagedigestexporter"
tekton-pipelines.controller.tektonPipelinesController.kubeconfigWriterImage.repositorystring"openfunction/tektoncd-pipeline-cmd-kubeconfigwriter"
tekton-pipelines.controller.tektonPipelinesController.nopImage.repositorystring"openfunction/tektoncd-pipeline-cmd-nop"
tekton-pipelines.controller.tektonPipelinesController.prImage.repositorystring"openfunction/tektoncd-pipeline-cmd-pullrequest-init"
tekton-pipelines.controller.tektonPipelinesController.shellImage.digeststring"sha256:b16b57be9160a122ef048333c68ba205ae4fe1a7b7cc6a5b289956292ebf45cc"
tekton-pipelines.controller.tektonPipelinesController.shellImage.repositorystring"openfunction/distroless-base"
tekton-pipelines.controller.tektonPipelinesController.shellImageWin.digeststring"sha256:b6d5ff841b78bdf2dfed7550000fd4f3437385b8fa686ec0f010be24777654d6"
tekton-pipelines.controller.tektonPipelinesController.shellImageWin.repositorystring"mcr.microsoft.com/powershell:nanoserver"
tekton-pipelines.controller.tektonPipelinesController.workingdirinitImage.repositorystring"openfunction/tektoncd-pipeline-cmd-workingdirinit"
tekton-pipelines.controller.typestring"ClusterIP"
tekton-pipelines.webhook.webhook.image.repositorystring"openfunction/tektoncd-pipeline-cmd-webhook"
webhookService.ports[0].portint443
webhookService.ports[0].targetPortint9443
webhookService.typestring"ClusterIP"

Autogenerated from chart metadata using helm-docs v1.11.2

About

The Helm charts for OpenFunction on Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •