diff --git a/charts/README.md b/charts/README.md index 178e8b64..56f75779 100644 --- a/charts/README.md +++ b/charts/README.md @@ -5,7 +5,7 @@ ## Prerequisites -- Kubernetes 1.8 or later +- Kubernetes 1.6 or later ## Helm charts @@ -37,36 +37,55 @@ $ helm delete my-release The following table lists the configurable parameters of the Fission chart and their default values. -| Parameter | Description | Default | -| ------------------- | ------------------------------------------ | ------------------------ | -| `serviceType` | Type of service to use | `LoadBalancer` | -| `image` | Fission image | `fission/fission-bundle` | -| `imageTag` | Fission image tag | `alpha20170124` | -| `fetcherImage` | Fission fetcher image | `fission/fetcher` | -| `fetcherImageTag` | Fission fetcher image tag | `latest` | -| `controllerPort` | Fission Controller Service Port | `31313` | -| `routerPort` | Fission Router Service Port | `31314` | -| `functionNamespace` | Namespace for Fission functions | `fission-function` | -| `builderNamespace` | Namespace for Fission environment builders | `fission-builder` | +Parameter | Description | Default +--------- | ----------- | ------- +`serviceType` | Type of Fission Controller service to use. For minikube, set this to NodePort, elsewhere use LoadBalancer or ClusterIP. | `ClusterIP` +`routerServiceType` | Type of Fission Router service to use. For minikube, set this to NodePort, elsewhere use LoadBalancer or ClusterIP. | `LoadBalancer` +`repository` | Image base repository | `index.docker.io` +`image` | Fission image repository | `fission/fission-bundle` +`imageTag` | Fission image tag | `1.0-rc2` +`pullPolicy` | Image pull policy | `IfNotPresent` +`fetcherImage` | Fission fetcher repository | `fission/fetcher` +`fetcherImageTag` | Fission fetcher image tag | `1.0-rc2` +`controllerPort` | Fission Controller service port | `31313` +`routerPort` | Fission Router service port | ` 31314` +`functionNamespace` | Namespace in which to run fission functions (this is different from the release namespace) | `fission-function` +`builderNamespace` | Namespace in which to run fission builders (this is different from the release namespace) | `fission-builder` +`enableIstio` | Enable istio integration | `false` +`persistence.enabled` | If true, persist data to a persistent volume | `true` +`persistence.existingClaim` | Provide an existing PersistentVolumeClaim instead of creating a new one | `nil` +`persistence.storageClass` | PersistentVolumeClaim storage class | `nil` +`persistence.accessMode` | PersistentVolumeClaim access mode | `ReadWriteOnce` +`persistence.size` | PersistentVolumeClaim size | `8Gi` +`analytics` | Analytics let us count how many people installed fission. Set to false to disable analytics | `true` +`analyticsNonHelmInstall` | Internally used for generating an analytics job for non-helm installs | `false` +`pruneInterval` | The frequency of archive pruner (in minutes) | `60` +`preUpgradeChecksImage` | Fission pre-install/pre-upgrade checks live in this image | `fission/pre-upgrade-checks` +`debugEnv` | If there are any pod specialization errors when a function is triggered and this flag is set to true, the error summary is returned as part of http response | `true` +`prometheusDeploy` | Set to true if prometheus needs to be deployed along with fission | `true` in `fission-all`, `false` in `fission-core` +`canaryDeployment.enabled` | Set to true if you need canary deployment feature | `true` in `fission-all`, `false` in `fission-core` ### Extra configuration for `fission-all` -| Parameter | Description | Default | -| ------------------------------- | --------------------------- | ---------------------------------------------------------- | -| `logger.influxdbAdmin` | Log database admin username | `admin` | -| `logger.fluentdImage` | Logger fluentd image | `fission/fluentd` | -| `fissionUiImage` | Fission ui image | `fission/fission-ui:0.1.0` | -| `nats.enabled` | Nats streaming enabled | `true` | -| `nats.authToken` | Nats streaming auth token | `defaultFissionAuthToken`(required if `nats.enabled` is `true`) | -| `nats.clusterID` | Nats streaming clusterID | `fissionMQTrigger`(required if `nats.enabled` is `true`) | -| `azureStorageQueue.enabled` * | Azure storage account name | `false` | -| `azureStorageQueue.accountName` | Azure storage account name | `None` (required if `azureStorageQueue.enabled` is `true`) | -| `azureStorageQueue.key` | Azure storage access key | `None` (required if `azureStorageQueue.enabled` is `true`) | -| `kafka.enabled` * | Kafka trigger enabled | `false` | -| `kafka.brokers` | Kafka brokers uri | `broker.kafka:9092` (required if `kafka.enabled` is `true`) | -| `kafka.version` | Kafka broker version | `None` (should be `>= 0.11.0.0` to enable Kafka record headers support) | +Parameter | Description | Default +--------- | ----------- | ------- +`createNamespace` | If true, create `fission-function` and `fission-builder` namespaces | ` true` +`logger.influxdbAdmin` | Log database admin username | `admin` +`logger.fluentdImage` | Logger fluentd image | `fission/fluentd` +`logger.fluentdImageTag` | Fission ui image tag | `1.0-rc2` +`nats.enabled` | Nats streaming enabled | `true` +`nats.authToken` | Nats streaming auth token | `defaultFissionAuthToken` +`nats.clusterID` | Nats streaming clusterID | `fissionMQTrigger` +`natsStreamingPort` | Nats streaming service port | `31316` +`azureStorageQueue.enabled` | Azure storage account name | `false` +`azureStorageQueue.key` | Azure storage account name | `""` +`azureStorageQueue.accountName` | Azure storage access key | `""` +`kafka.enabled` | Kafka trigger enabled | `false` +`kafka.brokers` | Kafka brokers uri | `broker.kafka:9092` +`kafka.version` | Kafka broker version | `nil` +`heapster` | Enable Heapster (only enable this in clusters where heapster does not exist already) | `false` -* - Please note that deploying of Azure Storage Queue or Kafka is not done by Fission chart and you will have to explicitly deploy them. +Please note that deploying of Azure Storage Queue or Kafka is not done by Fission chart and you will have to explicitly deploy them. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, @@ -74,10 +93,10 @@ Specify each parameter using the `--set key=value[,key=value]` argument to `helm $ helm install --name my-release --set image=custom/fission-bundle,imageTag=v1 fission-all ``` -If you're using minikube, set serviceType to NodePort: +If you're using minikube, set serviceType and routerServiceType to NodePort: ```bash -$ helm install --name my-release --set serviceType=NodePort fission-all +$ helm install --name my-release --set serviceType=NodePort,routerServiceType=NodePort fission-all ``` You can also set parameters with a yaml file (see [values.yaml](fission-all/values.yaml) for diff --git a/charts/fission-all/values.yaml b/charts/fission-all/values.yaml index 8b295cd9..60b52504 100644 --- a/charts/fission-all/values.yaml +++ b/charts/fission-all/values.yaml @@ -80,7 +80,17 @@ kafka: ## Persist data to a persistent volume. persistence: + ## If true, fission will create/use a Persistent Volume Claim + ## If false, use emptyDir + ## enabled: true + + ## A manually managed Persistent Volume Claim name + ## Requires persistence.enabled: true + ## If defined, PVC must be created manually before volume will be bound + ## + # existingClaim: + ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is @@ -88,6 +98,7 @@ persistence: ## GKE, AWS & OpenStack) ## # storageClass: "-" + accessMode: ReadWriteOnce size: 8Gi diff --git a/charts/fission-core/values.yaml b/charts/fission-core/values.yaml index 2cca7de1..7b36dad0 100644 --- a/charts/fission-core/values.yaml +++ b/charts/fission-core/values.yaml @@ -46,7 +46,17 @@ enableIstio: false ## Persist data to a persistent volume. persistence: + ## If true, fission will create/use a Persistent Volume Claim + ## If false, use emptyDir + ## enabled: true + + ## A manually managed Persistent Volume Claim name + ## Requires persistence.enabled: true + ## If defined, PVC must be created manually before volume will be bound + ## + # existingClaim: + ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is @@ -54,6 +64,7 @@ persistence: ## GKE, AWS & OpenStack) ## # storageClass: "-" + accessMode: ReadWriteOnce size: 8Gi