Compare commits

...
86 Commits
Author SHA1 Message Date
Sanket SudakeandGitHub 68286fe44e Track all Go tools version in tools package (#2628)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-21 12:14:03 +05:30
neha_guptaandGitHub d559628f29 add validation to avoid cross ns config and functions (#2627) 2022-11-17 20:43:07 +05:30
neha_guptaandGitHub 4cbe6a7061 Get logs from Pods using Kubernetes API for function log command (#2623)
* add controller enablement flag
* throw an error if service not found
* add logs from Kubernetes in function log command
* pass context in function param
* add pod-namespace in function log command
* pass context in function param
* search for the pod in fn ns in the test
2022-11-17 13:13:33 +05:30
Shubham BansalandGitHub 6d117ad43a Allow empty namespace for fission function and builder (#2621)
Currently, we create Fission resources in the default namespace, function-related resources are created in the fission-function namespace, whereas builder resources are created in the fission-builder namespace. This causes confusion for a lot of users.
In this fix, we allow the user to set the function and builder namespace empty so that function and builder resources are created in the same namespace as the function resource always.

If the user desires older behaviour they can functionNamespace and builderNamespace the same previous before the upgrade.

* use default namespace for fission  function and builder
* support for existing fission namespaces
* Replace builder and function namespace with template
* Fix namespace creation template

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-16 22:16:05 +05:30
neha_guptaandGitHub 70a0afd624 use namespace flag from global options for watch command (#2622) 2022-11-15 21:10:05 +05:30
neha_guptaandGitHub d2f201b721 Add Controller enable/disable flag in Helm Charts (#2620)
* add controller enablement flag
* throw error if service not found
2022-11-15 17:56:08 +05:30
neha_guptaandGitHub 3b2a86a8c9 Run canary config server separate from controller (#2617)
* add canary config server
* remove the canary config code from the controller
* remove port exposure for canary config
2022-11-15 13:08:42 +05:30
9a07d7d96b Add validation/mutating webhook server for Fission custom resources (#2608)
* add webhook server
* add metrics port
* Add self-signed cert generation in helm chart for webhooks (#2611)
* remove cert-manager installation
* update fission webhook charts
* remove extra cluster role
* add mutating webhook for pkg creation
* Service name and bundle fixes (#2614)
* caBundle templating
* Rename fission.svc to fission-webhook.svc
* update package build status

Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-11-13 17:31:31 +05:30
31dfc3e4d3 Convert ClusterRoles to Roles for all components for multiple namespaces (#2584)
*  Convert ClusterRoles to Roles for all components for multiple namespaces
* Added templates for rules and role generator to dynamically generate roles for each component
*  Fix role-generator component templating
* Enable namespaces variable for preupgradechecks

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-12 20:36:17 +05:30
Shubham BansalandGitHub 66897cb9d0 Delete builder service associated with environment name (#2616) 2022-11-12 09:11:05 +05:30
57d3a80fc6 Allow different namespaces in CI for fission-function and fission-builder (#2609)
* Add variables for function/builder namespace in the test
* Allow different namespaces in integration tests

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-11 18:56:20 +05:30
neha_guptaandGitHub fa037166e1 Add Fission version API to router for CLI consumption (#2612)
* add version API to router

* return empty struct in case of error in getserverinfo
2022-11-11 12:58:40 +05:30
Shubham BansalandGitHub 32bd874ab6 List fission resources in specific namespace instead of all namespace (#2604) 2022-11-08 10:25:09 +05:30
b71a36dc1c Use Kubernetes Client instead of Controller APIs from CLI (#2605)
Use the Kubernetes and Fission Client from CLI instead of Controller API.
This removes port-forwarding for the controller across Fission CLI mostly.

* Use configurable client in CLI
* Move resource namespace under cmd client
* use server to get fission version
* get archive with URL

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-07 21:42:39 +05:30
Shubham BansalandGitHub 261bf24974 Use informer for environment handling in buildermanager with multiple namespaces (#2603)
* changes to add informer for environment

* remove unnecessary code

* code refactor

* code review changes
2022-11-04 11:57:37 +05:30
Sanket SudakeandGitHub 6af53807aa Monitor specific namespaces for configmap/secret updates (#2598)
We allow functions to refer to configmap/secrets. We are monitoring all namespaces for config maps and secrets and also allow cross-namespace references.
This fix monitors configmaps/secret updates in specific namespaces. Also, we ignore cross-namespace references for configmap/secret updates.

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

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-03 14:12:22 +05:30
Shubham BansalandGitHub f37e9e6f89 Use informer for kube watcher handling with multiple namespace support (#2594)
* changes to add informer for kube watcher
* code refactor and fix cli issue for deleting watch
2022-11-02 19:10:06 +05:30
b9fa6ca20a Use informer for time trigger handling with multiple namespace support (#2593)
* changes to add informer in timer for time trigger
* Refactor timer trigger handlers and remove unwanted code

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-02 16:08:48 +05:30
Shubham BansalandGitHub c33842c94c Run package informer in go routine for multiple namespaces in buildermanager (#2592) 2022-11-01 20:01:03 +05:30
Shubham BansalandGitHub 9ff9a6e075 newdeploy executor to work with specific namespaces (#2590) 2022-10-31 12:55:57 +05:30
neha_guptaandGitHub a64fcc3faf use controller-runtime signals (#2589) 2022-10-31 12:03:06 +05:30
Shubham BansalandGitHub 47cbbef06f List Fission resource for specific namespace in executor reaper (#2587)
* pool manager to work with specific namespaces

* code review changes and revert changes for go.mod and values.yaml file
2022-10-28 20:39:08 +05:30
Shubham BansalandGitHub dbd2153181 Fission failed to list resources if namespace flag is not provided (#2585)
* use default namespace if no namespace is available
* remove the current-context namespace from push_pr GitHub workflow
2022-10-28 17:39:49 +05:30
Sanket SudakeandGitHub 2bd005c387 Refactor code generator for deepcopy files (#2580)
* Refactor code generator for deep copy files
* Add timeout to push PR workflow
* Add timeout for the fission-dump command
* Update helm and kind versions

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-27 16:24:59 +05:30
Shubham BansalandGitHub 3a9e5ab65d Error if rolebinding exists with different role reference in namespace (#2579)
* added unit test for setup role binding method
* changes to throw an error in case of mismatch in cluster role name
* changes to add a check for role kind
2022-10-27 14:10:38 +05:30
Sanket SudakeandGitHub ee790b3e1e Update chart version to v1.18.0-rc1 (#2576)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-20 11:44:10 +05:30
Runit MisraandGitHub 7eeb3ead66 Role and RoleBinding for fission-fetcher and fission-builder for user configured namespaces (#2574)
* Role and RoleBinding for fission-fetcher and fission-builder can be created in additional namespaces
* Added template file for fetcher and builder role and rolebinding
2022-10-19 18:06:17 +05:30
827baea974 Allow namespace configuration for different CRD resources in Fission (#2539)
* Allow multiple namespaces for builder manager
* Enable multiple namespaces for executor informers
* Added missing context
* helm chart support for multiple namespaces
* Directly consume map type from GetInformerForNamespaces fn
* Optimize function resolver by choosing namespace-specific informer
* helm chart support for multiple namespaces
* consider default namespace and move duplicate code to helm template
* Improve documentation for fission namespace values

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: shubham bansal <shubhambansaliimtgn@gmail.com>
2022-10-19 15:48:47 +05:30
neha_guptaandGitHub facd14de90 mprove warning/verbose messages around namespace in Fission CLI (#2572)
Removed extra warning message while creating HTTP trigger, and updated some verbose logs to show info related to the namespace.
2022-10-17 17:52:34 +05:30
Runit MisraandGitHub 8d65b062f1 Extract out permissions for fission.io componenets per-component (#2570)
* Extract out permissions for fission.io components per-component

* PR review changes

* Fix file names

* Fix the filename for the router
2022-10-17 14:01:19 +05:30
Sanket SudakeandGitHub d933f0ba6c Skip CI if label added to PR (#2571)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-15 17:52:12 +05:30
Sanket SudakeandGitHub f2b790921b Remove unwanted permissions from Fission components (#2568)
* Remove unwanted permissions from Fission components
* Remove unwanted permission from buildermgr
* Remove rbac permissions from controller
* Remove unwanted namespace permission
* Remove unwanted fission resource permissions
* Add deployment list permission for buildermgr
* add deployment create permission for buildermgr
* Update action version
* Add rolebinding permission for buildermanager
* Reduce permissions for fetcher and builder components
* Aded deployment delete permission to buildermgr
* Add logger to wait crds function
* Revert "Grant CustomResourcedefintion read permission to specific components (#2567)"

This reverts commit 8fe62b755c.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-13 15:04:49 +05:30
Sanket SudakeandGitHub 8fe62b755c Grant CustomResourcedefintion read permission to specific components (#2567)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-12 12:50:51 +05:30
neha_guptaandGitHub b9513868ed add namespace param for fn and env (#2556)
This PR moves fission CLI as closer as possible to kubectl command behaviour.  We have improved namespace handling behaviour across CLI.

* add namespace param for fn and env
* use common fn for ns check
* update validation
* default namespace for httpTrigger, env and package, config and triggers
* use default ns
* add namespace filter to spec
* add forceNamespace flag
* set current namespace
* add default namespace in config
* add namespace specific destroy
* add all namespace in the list of resources
* add namespace as global tag
* use %s instead of %v
* add test cases for namespace
* use ns in get all functions
2022-10-11 13:23:47 +05:30
Runit MisraandGitHub 0739aca920 Separate service accounts for each fission component (#2560)
* Separate service accounts for each component
* Permission changes per component
* Fixed fluentbit permissions
* added hooks to pre-upgrade service account and role
* Adjusted hook weights for pre-upgrade hook
* Replaced * with explicit permissions
2022-10-06 19:17:34 +05:30
Sanket SudakeandGitHub 18225db2bd Delete greetings.yml (#2563) 2022-10-04 16:34:10 +05:30
Sanket SudakeandGitHub 8008a5420a Update deps (#2558)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-29 13:19:14 +05:30
Sanket SudakeandGitHub 3fa0f4bde3 Ensuring passing context across fission (#2555)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-26 16:05:45 +05:30
Runit MisraandGitHub a8a81ef5be Remove --force option from upgrade strategy in skaffold.yaml (#2557) 2022-09-26 11:34:33 +05:30
Andrey DudinandGitHub 1102999b4d Add ability to configure object reaper interval for different executor types (#2543)
Added properties to configure object reaper interval, global and specific to exec type.

OBJECT_REAPER_INTERVAL - global
NEWDEPLOY_OBJECT_REAPER_INTERVAL - for new deploy type
CONTAINER_OBJECT_REAPER_INTERVAL - for container type
POOLMGR_OBJECT_REAPER_INTERVAL - for poolmgr
2022-09-23 11:35:13 +05:30
AmborandGitHub da50c3759d feat: add the fn annotations to newdeploy function based deployment (#2554)
* feat: add copy the fn annotations to the deploy annotations

* feat: add copy the fn labels to the deploy labels
2022-09-22 14:21:27 +05:30
Sanket SudakeandGitHub e87c84ee2c Capture context from cobra CLI and pass forward (#2551)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-22 13:54:05 +05:30
Shubham BansalandGitHub d03395949b changes to inject of otelhttp transport in executor (#2552) 2022-09-22 10:47:47 +05:30
b19d18c8bc Enable promlinter and enhance exposed metrics. (#2550)
* Enable promlinter
* Rename archives metric and update dashboard, linter

Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-20 12:40:34 +05:30
b36e0516f4 Update chart version v1.17.0 (#2549)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-16 18:40:41 +05:30
121f962399 Add yaml manifest generation (#2548)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-16 18:13:46 +05:30
58f33d6f6c Add artifact and image signing (#2547)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-15 19:31:10 +05:30
61f4d4f5ad Fix dashboard template (#2546)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-15 19:17:31 +05:30
Shubham BansalandGitHub dc4c6e20e3 Add metric fission_mqt_message_lag for kafka mqt connector (#2544)
These changes have specifically been made for Kafka connector. This will expose a new metric named `fission_mqt_message_lag`, which will show a number of messages lag per topic and partition.

We can use this metric in the auto-scaling of the pod for the new deploy type executor function. While creating a new deploy function we need to add hpa metrics of external type inside the function definition.
2022-09-15 14:45:51 +05:30
12d323e32f Update chart and app version (#2542)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-13 15:05:03 +05:30
2882e0d3e7 allow two HTTP triggers with no URLs and different prefix (#2540)
* allow two HTTP triggers with no URL and different prefix
* update dependency
* Fix controller existing tests
* Ensure namespace cleanup in API test
* update test cases
* handle error conditions in test

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-13 13:30:00 +05:30
79b41ec070 Add servicemonitor additional labels and podmonitor (#2541)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-12 20:25:17 +05:30
05130949ad Add grafana dashboards and configmap creation for auto provisioning (#2519)
* Add grafana dashboards and configmap creation
* Fix Data source, job and template rules
* Add units to all panels
* fix units and fix linting issues
* Enable verbose linting for dashboards

Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-12 17:10:07 +05:30
Sanket SudakeandGitHub dea7b2be94 Generate fission code using code-generator from upstream 1.25 release (#2534)
* Generate fission code using code-generator from upstream 1.25 release
* Update sigs.k8s.io/controller-runtime v0.13.0

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-07 10:15:29 +05:30
Sanket SudakeandGitHub 294ff5bb19 Optimize Github action workflows for Go version identification (#2533)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-06 17:30:21 +05:30
7dad7c8399 Ensure newdeploy function pod restart on referred configmap update (#2528)
Configmap inside pods for newdeploy and pool manager executor type were not being updated if the user update the configmap.
This fix will help to update the pods for both executor type with new configmap. As per the changes if there is any configmap update then pods will get restarted for both executor type and then it will refer new configmap.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-06 16:12:55 +05:30
e0c09ce340 Fix dashboard linting workflow (#2530)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-02 14:08:48 +05:30
e4751d54cb Add dashboard linting workflow (#2529)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-02 13:40:49 +05:30
ed6f4ea375 Dump labels and annotations for function via getmeta cli (#2525)
Co-authored-by: Nemanja Miletic <nmiletic@paloaltonetworks.com>
2022-08-31 12:51:11 +05:30
Sanket SudakeandGitHub fef2d8f875 Propogate context for prometheus queries via canaryconfig ops (#2527)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-31 12:03:00 +05:30
Sanket SudakeandGitHub 6971bcd287 Update Go version 1.19 (#2523)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-30 11:40:01 +05:30
neha_guptaandGitHub b16010dfa3 add values for nats jetstream keda connector (#2515)
* add values for jetstream connector

* formatte fission cli

* Update jetstream connector version
2022-08-29 10:45:18 +05:30
Andrey DudinandGitHub 9016b6d28c Correct error message in otel propagators test (#2522) 2022-08-26 11:43:37 +05:30
Andrey DudinandGitHub ce887f360a Fix fission version command in issue template (#2521) 2022-08-26 11:41:40 +05:30
Andrey DudinandGitHub 8238916340 Add endPoint property example (#2518) 2022-08-24 21:55:38 +05:30
Sanket SudakeandGitHub b1f8ad8dca Remove usused files and refactor crd ref docs generation (#2516)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-22 16:38:28 +05:30
Sanket SudakeandGitHub dca306d87f Change default branch to main across repository (#2514)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-22 14:57:00 +05:30
Sanket SudakeandGitHub 3b4211b581 Update go dependencies to latest and actions used in workflows (#2510)
* Updated all Go language dependencies to latest version available
* Formatted all files as per gofmt
* Update Golangci-lint version to 1.48.0
* Updated action version wherer application in Github workflows
* Updated Kubernetes version to latest available
* Remove "io/ioutil" references and replace with "io"/"os"

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-19 13:36:37 +05:30
5c4121ca1e Remove CRD generation from release workflow (#2513)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-08-18 16:26:48 +05:30
a3fde534e2 Add Github actions release CI (#2505)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-08-18 16:08:39 +05:30
neha_guptaandGitHub 63c1c25fda Update keda connector versions (#2512)
- kafka: v0.11
- rabbitmq: v0.10
- awskinesis: v0.10
- aws_sqs: v0.10
- nats_steaming: v0.12
- gcp_pubsub: v0.5
- redis: v0.3
2022-08-18 14:00:01 +05:30
Sanket SudakeandGitHub d32e09aaf9 Update go-restful libraries (#2509)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-09 16:09:40 +05:30
Sanket SudakeandGitHub 1184864c14 Reestablish kakfa consumer group session on disconnection (#2504)
* Reestablish kakfa consumer group session on disconnection
* Add wait for the consumer
* Ignore empty message
* Update github.com/Shopify/sarama to v1.35.0

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-09 11:06:19 +05:30
Sanket SudakeandGitHub 9343eb9911 Use sig.k8s.io/yaml instead of ghodss/yaml (#2506)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-05 16:09:34 +05:30
Sanket SudakeandGitHub 3ecf21a6f1 Update kubernetes and opentelemetry dependencies (#2507)
* Update kubernetes libs to v0.24.3
* Update opentelemtry libraries

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-05 15:14:42 +05:30
Shubham BansalandGitHub 904413db6d Capture previous command exit code in integration tests cleanup (#2503)
* show previous response code

* log previous response code of shell script command
2022-08-04 10:16:05 +05:30
Shubham BansalandGitHub 3c8edab514 removed unused reference of TRACING_SAMPLING_RATE (#2498) 2022-07-27 14:30:30 +05:30
Sanket SudakeandGitHub 5c886e4cf4 Upgrade Opentelemetry Libraries and adopt enhancements (#2484)
1. Use websocket support introduced in Openetelemetry Librarries
2. Use propagators settings introduced in Opentelemetry Go SDK
3. Use samplers settings introduced in Openetelemetry Go SDK

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-07-20 11:13:12 +05:30
Pranoy Kumar KunduandGitHub dba9143f45 Prevent creating function of executor type container via fn create command (#2486) 2022-07-19 15:26:12 +05:30
Shubham BansalandGitHub 1abe4dadb7 fix to change value of BuildStatus from Pending to pending (#2489) 2022-07-19 13:29:36 +05:30
Shubham BansalandGitHub 9cedeb4fa6 Generate package within 63 character limit when creating function (#2482) 2022-07-13 10:19:45 +05:30
Sanket SudakeandGitHub 899e6e96d6 cleanup: Remove Opentracing support as no active users (#2196)
References:
[1] #2193
[2] https://fissionio.slack.com/archives/C3LUX6BBP/p1631706812069300

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-07-12 14:52:17 +05:30
Ankit ChawlaandGitHub 7838debadf Added fix to retrieve correct s3 urls (#2465)
* Added fix to retrieve correct s3 urls

* Fixes to S3 url

* Squashing commits

* Fixing if conditions for storagetype in geturl
2022-07-12 11:56:25 +05:30
Shubham BansalandGitHub db13455a7b Upgrade alpine version from 3.15 to 3.16 (#2480) 2022-07-11 16:06:53 +05:30
Shubham BansalandGitHub 5838340594 Increase time for port forwarding exponentially in fission CLI (#2468) 2022-07-07 15:36:36 +05:30
Sanket SudakeandGitHub 655456ee03 Update changelog for 1.17.0-rc1 (#2471)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-07-06 15:55:10 +05:30
448 changed files with 13455 additions and 6622 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ assignees: ''
<!-- If you tested with other services, for example Istio, please also provide the version of service as well. -->
<pre>
$ fission --version
$ fission version
$ kubectl version
</pre>
+10 -11
View File
@@ -3,14 +3,14 @@ name: Code Scanning
on:
push:
branches:
- master
- main
paths:
- '**.go'
- go.mod
- go.sum
pull_request:
branches:
- master
- main
paths:
- '**.go'
- go.mod
@@ -22,22 +22,21 @@ on:
jobs:
CodeQL-Build:
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps:
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- uses: actions/cache@v2
- name: setup go
uses: actions/setup-go@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
go-version-file: "go.mod"
cache: true
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: go
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2
-23
View File
@@ -1,23 +0,0 @@
name: Greetings
on: [pull_request, issues]
jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
if: env.month != 'Oct'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Thank you for your first issue! ✨😊'
pr-message: 'Thank you for contributing to this project! ✨😊'
- uses: actions/first-interaction@v1
if: env.month == 'Oct'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Thank you for your first issue! Happy Hacktoberfest!!! ✨🎃👕✨'
pr-message: 'Thank you for contributing to this project. Happy Hacktoberfest!!! ✨🎃👕'
+35
View File
@@ -0,0 +1,35 @@
name: Lint dashboards
on:
push:
branches:
- main
paths:
- 'charts/fission-all/dashboards/**.json'
pull_request:
branches:
- main
paths:
- 'charts/fission-all/dashboards/**.json'
workflow_dispatch:
jobs:
lint-dashboards:
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18.5
- name: Install dashboard linter
run: |
go get github.com/grafana/dashboard-linter
go install github.com/grafana/dashboard-linter
- name: Run dashboard linter
run: ./hack/lint-dashboards.sh
+28 -38
View File
@@ -3,69 +3,59 @@ name: Lint and Unit tests
on:
push:
branches:
- master
- main
paths:
- '**.go'
- "**.go"
- go.mod
- go.sum
pull_request:
branches:
- master
- main
paths:
- '**.go'
- "**.go"
- go.mod
- go.sum
workflow_dispatch:
env:
GOLANGCI_LINT_VERSION: v1.49.0
GOLANGCI_LINT_TIMEOUT: 5m
jobs:
lint:
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18.1
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- uses: actions/cache@v2
- name: Set up Go
uses: actions/setup-go@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
go-version-file: "go.mod"
cache: true
- name: Verify dependencies
run: |
go mod verify
go mod download
LINT_VERSION=1.45.0
curl -fsSL https://github.com/golangci/golangci-lint/releases/download/v${LINT_VERSION}/golangci-lint-${LINT_VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 --wildcards \*/golangci-lint
mkdir -p bin && mv golangci-lint bin/
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: ${{ env.GOLANGCI_LINT_VERSION }}
args: --timeout=${{ env.GOLANGCI_LINT_TIMEOUT }}
- name: Run checks
- name: Detect git changes
if: always()
run: |
STATUS=0
assert-nothing-changed() {
local diff
"$@" >/dev/null || return 1
if ! diff="$(git diff -U1 --color --exit-code)"; then
printf '\e[31mError: running `\e[1m%s\e[22m` results in modifications that you must check into version control:\e[0m\n%s\n\n' "$*" "$diff" >&2
git checkout -- .
STATUS=1
fi
}
assert-nothing-changed go fmt ./...
assert-nothing-changed go mod tidy
bin/golangci-lint run --out-format=github-actions --timeout=5m || STATUS=$?
exit $STATUS
if [[ $(git diff --stat) != '' ]]; then
echo -e '❌ \033[0;31m. Fix lint changes.\033[0m'
git diff --color
exit 1
else
echo '✔ No issues detected. Have a nice day :-)'
fi
- name: Run unit tests
run: ./hack/runtests.sh
+33 -25
View File
@@ -3,7 +3,7 @@ name: Fission CI
on:
push:
branches:
- master
- main
paths:
- "**.go"
- "charts/**"
@@ -12,7 +12,7 @@ on:
- go.sum
pull_request:
branches:
- master
- main
paths:
- "**.go"
- "charts/**"
@@ -21,47 +21,46 @@ on:
- go.sum
workflow_dispatch:
env:
HELM_VERSION: v3.10.1
KIND_VERSION: v0.17.0
jobs:
# Job to run change detection
integration-test:
runs-on: ${{ matrix.os }}
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
strategy:
fail-fast: false
matrix:
kindversion: ["v1.19.11", "v1.20.7", "v1.21.1"]
kindversion: ["v1.19.16", "v1.20.15", "v1.21.14"]
os: [ubuntu-latest]
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: setup go
uses: actions/setup-go@v2
uses: actions/setup-go@v3
with:
go-version: 1.18.1
go-version-file: "go.mod"
cache: true
- name: Checkout sources
uses: actions/checkout@v2.3.4
- name: Checkout sources
uses: actions/checkout@v2.3.4
uses: actions/checkout@v3
with:
repository: fission/examples
path: examples
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Helm installation
uses: Azure/setup-helm@v1
uses: Azure/setup-helm@v3
with:
version: v3.3.4
version: ${{ env.HELM_VERSION }}
- name: Kind Clutser
- name: Kind Cluster
uses: engineerd/setup-kind@v0.5.0
with:
image: kindest/node:${{ matrix.kindversion }}
version: v0.11.1
version: ${{ env.KIND_VERSION }}
config: kind.yaml
- name: Configuring and testing the Installation
@@ -69,6 +68,8 @@ jobs:
kubectl cluster-info --context kind-kind
kubectl get nodes
sudo apt-get install -y apache2-utils
kubectl config use-context kind-kind
kubectl config view
- name: Helm chart lint
run: |
@@ -76,12 +77,12 @@ jobs:
- name: Install Skaffold
run: |
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.39.2/skaffold-linux-amd64
sudo install skaffold /usr/local/bin/
skaffold version
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v2
uses: goreleaser/goreleaser-action@v3
with:
install-only: true
@@ -100,6 +101,7 @@ jobs:
sudo chmod +x /usr/local/bin/fission
- name: Build and Install Fission
timeout-minutes: 10
run: |
kubectl create ns fission
make create-crds
@@ -111,33 +113,39 @@ jobs:
kubectl port-forward svc/controller 8889:80 -nfission &
- name: Get fission version
timeout-minutes: 10
run: |
fission version
- name: Integration tests
timeout-minutes: 90
run: ./test/kind_CI.sh
- name: Collect Fission Dump
timeout-minutes: 5
if: ${{ always() }}
run: |
command -v fission && fission support dump
- name: Kind export logs
timeout-minutes: 10
if: ${{ always() }}
run: |
kind export logs --name kind kind-logs
- name: Archive fission dump
if: ${{ failure() }}
uses: actions/upload-artifact@v2
timeout-minutes: 10
if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@v3
with:
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: fission-dump/*.zip
retention-days: 5
- name: Archive kind logs
timeout-minutes: 10
if: ${{ always() }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
path: kind-logs/*
+82
View File
@@ -0,0 +1,82 @@
name: Create Draft release
on:
push:
tags:
- v1.**
- v2.**
env:
KIND_VERSION: v0.17.0
KIND_NODE_IMAGE_TAG: v1.19.16
jobs:
create-draft-release:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup go
uses: actions/setup-go@v3
with:
go-version-file: "go.mod"
cache: true
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v3
with:
install-only: true
- name: Kind Clutser
uses: engineerd/setup-kind@v0.5.0
with:
image: kindest/node:${{ env.KIND_NODE_IMAGE_TAG }}
version: ${{ env.KIND_VERSION }}
config: kind.yaml
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Docker Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install Cosign
uses: sigstore/cosign-installer@main
with:
cosign-release: 'v1.12.0'
- name: Check cosign install!
run: cosign version
- name: Write cosign signing key to disk
run: 'echo "$KEY" > cosign.key'
shell: bash
env:
KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
- name: Generate yaml for manifest, Minikube and Openshift installation
run: ${GITHUB_WORKSPACE}/hack/build-yaml.sh $VERSION
env:
VERSION: ${{ steps.get_version.outputs.VERSION }}
shell: bash
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v3
with:
version: latest
args: release
env:
COSIGN_PWD: ${{ secrets.COSIGN_PWD }}
GORELEASER_CURRENT_TAG: ${{ steps.get_version.outputs.VERSION }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_CLI_EXPERIMENTAL: "enabled"
#ToDo - Verify and upload releases
+84 -68
View File
@@ -3,100 +3,116 @@ name: Fission CI upgrade
on:
push:
branches:
- master
- main
paths:
- '**.go'
- 'charts/**'
- 'test/**'
- "**.go"
- "charts/**"
- "test/**"
- go.mod
- go.sum
pull_request:
branches:
- master
- main
paths:
- '**.go'
- 'charts/**'
- 'test/**'
- "**.go"
- "charts/**"
- "test/**"
- go.mod
- go.sum
workflow_dispatch:
env:
HELM_VERSION: v3.10.1
KIND_VERSION: v0.17.0
jobs:
upgrade-test:
runs-on: ${{ matrix.os }}
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
strategy:
fail-fast: false
matrix:
kindimage : [ 'kindest/node:v1.19.11' ]
os: [ ubuntu-latest ]
kindimage: ["kindest/node:v1.19.16"]
os: [ubuntu-latest]
steps:
- name: Setup go
uses: actions/setup-go@v2
with:
go-version: 1.18.1
- name: Checkout action sources
uses: actions/checkout@v3
- name: Checkout action sources
uses: actions/checkout@v2.3.4
- name: Setup go
uses: actions/setup-go@v3
with:
go-version-file: "go.mod"
cache: true
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Setup Helm
uses: Azure/setup-helm@v3
with:
version: ${{ env.HELM_VERSION }}
- name: Setup Helm
uses: Azure/setup-helm@v1
with:
version: v3.3.4
- name: Setup Kind Clutser
uses: engineerd/setup-kind@v0.5.0
with:
image: ${{ matrix.kindimage }}
version: ${{ env.KIND_VERSION }}
- name: Setup Kind Clutser
uses: engineerd/setup-kind@v0.5.0
with:
image: ${{ matrix.kindimage }}
version: v0.11.1
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v3
with:
install-only: true
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
install-only: true
- name: Setup kubectl & fetch node information
run: |
kubectl cluster-info --context kind-kind
kubectl get nodes
kubectl get storageclasses.storage.k8s.io
kubectl config use-context kind-kind
kubectl config set-context --current --namespace=default
kubectl config view
- name: Setup kubectl & fetch node information
run: |
kubectl cluster-info --context kind-kind
kubectl get nodes
kubectl get storageclasses.storage.k8s.io
- name: Dump system info
run: |
source ./test/upgrade_test/fission_objects.sh dump_system_info
- name: Dump system info
run: |
source ./test/upgrade_test/fission_objects.sh dump_system_info
- name: Install and configure previous stable fission
run: |
source ./test/upgrade_test/fission_objects.sh install_stable_release \
&& create_fission_objects \
&& test_fission_objects
- name: Install and configure previous stable fission
run: |
source ./test/upgrade_test/fission_objects.sh install_stable_release \
&& create_fission_objects \
&& test_fission_objects
- name: Upgrade fission to latest
run: |
source ./test/upgrade_test/fission_objects.sh build_docker_images \
&& kind_image_load \
&& install_current_release \
&& install_fission_cli
- name: Upgrade fission to latest
run: |
source ./test/upgrade_test/fission_objects.sh build_docker_images \
&& kind_image_load \
&& install_current_release \
&& install_fission_cli
- name: Test previously created fission objects with new release
timeout-minutes: 10
run: |
source ./test/upgrade_test/fission_objects.sh test_fission_objects
- name: Test previously created fission objects with new release
run: |
source ./test/upgrade_test/fission_objects.sh test_fission_objects
- name: Collect Fission Dump
if: ${{ always() }}
run: |
command -v fission && fission support dump
- name: Collect Fission Dump
if: ${{ always() }}
run: |
command -v fission && fission support dump
- name: Kind export logs
if: ${{ always() }}
run: |
kind export logs --name kind kind-logs
- name: Archive fission dump
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: fission-dump
path: fission-dump/*.zip
retention-days: 5
- name: Archive fission dump
if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@v3
with:
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: fission-dump/*.zip
retention-days: 5
- name: Archive kind logs
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
path: kind-logs/*
retention-days: 5
+4
View File
@@ -33,3 +33,7 @@ local/
build/
dist/
manifest/
.vscode/
coverage.txt
cosign.key
+1 -4
View File
@@ -1,28 +1,25 @@
linters:
enable:
# Default linter
- deadcode
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- structcheck
- typecheck
- unused
- varcheck
# Additional linters
- gofmt
- goimports
- misspell
- nakedret
- unconvert
- promlinter
# Enable in future
# - bodyclose
# - dogsled
# - dupl
# - gosec
# - ifshort
# - nilerr
# - prealloc
# - revive
+29 -4
View File
@@ -8,7 +8,6 @@ release:
header: |
Release Highlights: https://fission.io/docs/releases/{{ .Tag }}/
Install Guide: https://fission.io/docs/installation/
Full Changelog: https://github.com/fission/fission/blob/master/CHANGELOG.md
extra_files:
- glob: ./manifest/charts/*
- glob: ./manifest/yamls/*
@@ -27,9 +26,9 @@ builds:
- -X github.com/fission/fission/pkg/info.BuildDate={{.Date}}
- -X github.com/fission/fission/pkg/info.Version={{.Tag}}
gcflags:
- all=-trimpath={{.Env.PWD}}
- all=-trimpath={{ if index .Env "GITHUB_WORKSPACE"}}{{ .Env.GITHUB_WORKSPACE }}{{ else }}{{ .Env.PWD }}{{ end }}
asmflags:
- all=-trimpath={{.Env.PWD}}
- all=-trimpath={{ if index .Env "GITHUB_WORKSPACE"}}{{ .Env.GITHUB_WORKSPACE }}{{ else }}{{ .Env.PWD }}{{ end }}
env:
- CGO_ENABLED=0
goos:
@@ -258,7 +257,7 @@ docker_manifests:
- fission/reporter:latest-arm64
- fission/reporter:latest-armv7
changelog:
skip: true
skip: false
archives:
- id: fission
builds:
@@ -268,3 +267,29 @@ archives:
checksum:
name_template: "checksums.txt"
algorithm: sha256
# signs the checksum file
# https://goreleaser.com/customization/sign
signs:
- cmd: cosign
artifacts: all
stdin: '{{ .Env.COSIGN_PWD }}'
output: true
args:
- sign-blob
- '--key=cosign.key'
- '--output-certificate=${certificate}'
- '--output-signature=${signature}'
- '${artifact}'
# signs our docker image
# https://goreleaser.com/customization/docker_sign
docker_signs:
- cmd: cosign
artifacts: all
stdin: '{{ .Env.COSIGN_PWD }}'
output: true
args:
- 'sign'
- '--key=cosign.key'
- '${artifact}'
+1 -1
View File
@@ -1,7 +1,7 @@
pull_request_rules:
- name: Automatic merge on approval
conditions:
- base=master
- base=main
- "#approved-reviews-by>=1"
- label=ready-to-merge
- label!=hold-off-merging
+22
View File
@@ -1,5 +1,27 @@
# Changelog
## [v1.17.0-rc1](https://github.com/fission/fission/tree/v1.17.0-rc1) (2022-07-06)
[Full Changelog](https://github.com/fission/fission/compare/v1.16.0...v1.17.0-rc1)
**Merged pull requests:**
- Update controller-tools to v0.9.2 [\#2467](https://github.com/fission/fission/pull/2467) ([sanketsudake](https://github.com/sanketsudake))
- OpenTelemetry package update to v1.7.0 [\#2466](https://github.com/fission/fission/pull/2466) ([shubham-bansal96](https://github.com/shubham-bansal96))
- Added support to set builder and fn pod specs via helm chart [\#2461](https://github.com/fission/fission/pull/2461) ([blackfly19](https://github.com/blackfly19))
- Pods immediately terminate for idletimeout in new deployment and container executer type [\#2459](https://github.com/fission/fission/pull/2459) ([shubham-bansal96](https://github.com/shubham-bansal96))
- Added variable to enable or disable archivePruner [\#2458](https://github.com/fission/fission/pull/2458) ([blackfly19](https://github.com/blackfly19))
- Avoid fission installation failure due to analytics connection error [\#2457](https://github.com/fission/fission/pull/2457) ([shubham-bansal96](https://github.com/shubham-bansal96))
- Fix for archivepruner to delete files only from subdir [\#2456](https://github.com/fission/fission/pull/2456) ([blackfly19](https://github.com/blackfly19))
- Upgraded controller-gen to remove status from fission CRDs [\#2454](https://github.com/fission/fission/pull/2454) ([sanketsudake](https://github.com/sanketsudake))
- builder: Allow command with arguments via custom build options [\#2453](https://github.com/fission/fission/pull/2453) ([shubham-bansal96](https://github.com/shubham-bansal96))
- CLI to operate archives managed by Storage Service [\#2450](https://github.com/fission/fission/pull/2450) ([blackfly19](https://github.com/blackfly19))
- \[issue-2401\] Added pod security context for Fission Components [\#2449](https://github.com/fission/fission/pull/2449) ([baba230896](https://github.com/baba230896))
- Update github.com/opencontainers/runc dependency to 1.1.2 [\#2448](https://github.com/fission/fission/pull/2448) ([blackfly19](https://github.com/blackfly19))
- Fixed help for ColdStarts metric in executor according to new labels [\#2446](https://github.com/fission/fission/pull/2446) ([blackfly19](https://github.com/blackfly19))
- Ensure poolmanager fn address validation even if pod has active connections [\#2441](https://github.com/fission/fission/pull/2441) ([blackfly19](https://github.com/blackfly19))
- Fix pre-check failure during new fission installation [\#2437](https://github.com/fission/fission/pull/2437) ([shubham4443](https://github.com/shubham4443))
## [v1.16.0](https://github.com/fission/fission/tree/v1.16.0) (2022-05-24)
[Full Changelog](https://github.com/fission/fission/compare/v1.16.0-rc2...v1.16.0)
+16 -7
View File
@@ -42,9 +42,7 @@ debug-vars: print-GOOS print-GOARCH print-GOAMD64 print-VERSION print-TIMESTAMP
check: test-run build-fission-cli clean
code-checks:
hack/verify-gofmt.sh
hack/verify-govet.sh
hack/verify-staticcheck.sh
golangci-lint run
# run basic check scripts
test-run: code-checks
@@ -60,18 +58,26 @@ install-fission-cli:
mv dist/fission-cli_$(GOOS)_$(GOARCH)_v1/fission$(FISSION-CLI-SUFFIX) /usr/local/bin/fission
### Codegen
codegen:
codegen: controller-gen-install
@controller-gen object:headerFile="hack/boilerplate.txt" paths="./..."
@./hack/update-codegen.sh
### CRDs
controller-gen-install:
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.2
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.10.0
generate-crds: controller-gen-install
controller-gen crd \
paths=./pkg/apis/core/v1 \
output:crd:artifacts:config=crds/v1
### Webhook generation: it generates webhook configs with help of kubebuilder:webhook tag
generate-webhooks: controller-gen-install
controller-gen webhook \
paths=./pkg/apis/core/v1 \
output:dir=charts/fission-all/templates/webhook-server
create-crds:
@kubectl create -k crds/v1
@@ -92,14 +98,17 @@ generate-swagger-doc:
generate-cli-docs:
go run tools/cmd-docs/main.go -o "../fission.io/content/en/docs/reference/fission-cli"
generate-crd-ref-docs:
install-crd-ref-docs:
go install github.com/elastic/crd-ref-docs@v0.0.8
generate-crd-ref-docs: install-crd-ref-docs
# crd-ref-docs: https://github.com/elastic/crd-ref-docs
crd-ref-docs --source-path=pkg/apis/core/v1 --config=tools/crd-ref-docs/config.yaml --renderer markdown
cp tools/crd-ref-docs/header.md crd_docs.md
cat out.md >> crd_docs.md && rm out.md
mv crd_docs.md ../fission.io/content/en/docs/reference/crd-reference.md
all-generators: codegen generate-crds generate-swagger-doc
all-generators: codegen generate-crds generate-swagger-doc generate-cli-docs generate-crd-ref-docs
skaffold-prebuild:
@GOOS=linux GOARCH=amd64 GORELEASER_CURRENT_TAG=$(VERSION) goreleaser build --snapshot --rm-dist --single-target
+2 -2
View File
@@ -5,7 +5,7 @@
</p>
<p align="center">
<a href="https://github.com/fission/fission/blob/master/LICENSE">
<a href="https://github.com/fission/fission/blob/main/LICENSE">
<img alt="Fission Licence" src="https://img.shields.io/github/license/fission/fission">
</a>
<a href="https://github.com/fission/fission/releases">
@@ -20,7 +20,7 @@
<a href="https://github.com/fission/fission/graphs/contributors">
<img alt="Fission contributors" src="https://img.shields.io/github/contributors/fission/fission">
</a>
<a href="https://github.com/fission/fission/commits/master">
<a href="https://github.com/fission/fission/commits/main">
<img alt="Commit Activity" src="https://img.shields.io/github/commit-activity/m/fission/fission">
</a>
<br>
+2 -2
View File
@@ -1,7 +1,7 @@
apiVersion: v2
name: fission-all
version: v1.17.0-rc1
appVersion: v1.17.0-rc1
version: v1.18.0-rc1
appVersion: v1.18.0-rc1
description: Fission is a fast serverless framework for Kubernetes.
home: https://fission.io/
icon: https://fission.io/images/fission-logo-white.svg
+11
View File
@@ -0,0 +1,11 @@
exclusions:
template-job-rule:
reason: "Most panels dont need to be filtered by job"
template-instance-rule:
reason: "Most panels dont need to be filtered by instance"
target-job-rule:
reason: "Most panels dont need to be filtered by job"
target-instance-rule:
reason: "Most panels dont need to be filtered by instance"
panel-units-rule:
reason: "Some panels are using the 'number' unit which throws a linting error."
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,648 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Shows function calls, namespaces and their response codes.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "reqps"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "increase(fission_function_calls_total{function_name=~\"$Function_Name\",function_namespace=~\"$Function_Namespace\"}[1m])",
"interval": "",
"legendFormat": "Namespace:{{function_namespace}} Func:{{function_name}} {{method}} Response: {{code}} ",
"range": true,
"refId": "A"
}
],
"title": "Function calls",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Shows any functions that return 400 or 500 errors.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "reqps"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 6,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "increase(fission_function_errors_total{function_name=~\"$Function_Name\",function_namespace=~\"$Function_Namespace\"}[1m])",
"legendFormat": "Namespace:{{function_namespace}} Function:{{function_name}} Response:{{code}} ",
"range": true,
"refId": "A"
}
],
"title": "Function Errors",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Tracks cold starts of all functions.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "increase(fission_function_cold_starts_total{function_name=~\"$Function_Name\",function_namespace=~\"$Function_Namespace\"}[1m])",
"legendFormat": "{{function_name}}",
"range": true,
"refId": "A"
}
],
"title": "Function cold starts",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 16
},
"id": 12,
"panels": [],
"title": "Http Requests",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Shows the number of requests currently in flight per function path",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 17
},
"id": 8,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "http_requests_in_flight{path=~\"$Path\"}",
"legendFormat": "{{path}}",
"range": true,
"refId": "A"
}
],
"title": "Http Requests in Flight (function)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Shows the average latency for each path.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 17
},
"id": 10,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "http_requests_duration_seconds_sum{path!=\"/healthz\",path!~\"/v2/.*\",path!~\"/router.*\",path=~\"$Path\"}/http_requests_duration_seconds_count{path=~\"$Path\"}",
"legendFormat": "{{path}}",
"range": true,
"refId": "A"
}
],
"title": "Request latency",
"type": "timeseries"
}
],
"schemaVersion": 36,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "Prometheus",
"value": "Prometheus"
},
"hide": 0,
"includeAll": false,
"label": "Data Source",
"multi": false,
"name": "datasource",
"options": [],
"query": "prometheus",
"queryValue": "",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "datasource"
},
{
"allValue": ".*",
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(fission_function_calls_total, function_name)",
"hide": 0,
"includeAll": true,
"multi": false,
"name": "Function_Name",
"options": [],
"query": {
"query": "label_values(fission_function_calls_total, function_name)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"allValue": ".*",
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(http_requests_total, path)",
"hide": 0,
"includeAll": true,
"multi": true,
"name": "Path",
"options": [],
"query": {
"query": "label_values(http_requests_total, path)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"allValue": ".*",
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(kube_namespace_labels, namespace)",
"description": "",
"hide": 0,
"includeAll": true,
"multi": false,
"name": "Function_Namespace",
"options": [],
"query": {
"query": "label_values(kube_namespace_labels, namespace)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
},
{
"current": {
"selected": false,
"text": "fission",
"value": "fission"
},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(fission_function_calls_total, namespace)",
"hide": 0,
"includeAll": false,
"multi": false,
"name": "Fission_Namespace",
"options": [],
"query": {
"query": "label_values(fission_function_calls_total, namespace)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"type": "query"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Fission User Dashboard",
"uid": "he2w3Xq7z",
"version": 3,
"weekStart": ""
}
+43
View File
@@ -0,0 +1,43 @@
{{- define "fision.selfSignedCABundleCertPEM" -}}
{{- $caKeypair := .selfSignedCAKeypair | default (genCA "fission-ca" 1825) -}}
{{- $_ := set . "selfSignedCAKeypair" $caKeypair -}}
{{- $caKeypair.Cert -}}
{{- end -}}
{{- define "webhook.caBundleCertPEM" -}}
{{- if .Values.webhook.caBundlePEM -}}
{{- trim .Values.webhook.caBundlePEM -}}
{{- else -}}
{{- $caKeypair := .selfSignedCAKeypair | default (genCA "fission-ca" 1825) -}}
{{- $_ := set . "selfSignedCAKeypair" $caKeypair -}}
{{- $caKeypair.Cert -}}
{{- end -}}
{{- end -}}
{{- define "webhook.certPEM" -}}
{{- if .Values.webhook.crtPEM -}}
{{- trim .Values.webhook.crtPEM -}}
{{- else -}}
{{- $webhookName := printf "%s.%s.svc" (include "fission-webhook.svc" .) .Release.Namespace }}
{{- $fullWebhookName := printf "%s.%s.svc.cluster.local" (include "fission-webhook.svc" .) .Release.Namespace -}}
{{- $webhookCA := required "self-signed CA keypair is requried" .selfSignedCAKeypair -}}
{{- $webhookServerTLSKeypair := .webhookTLSKeypair | default (genSignedCert $webhookName nil (list $webhookName $fullWebhookName) 1825 $webhookCA) }}
{{- $_ := set . "webhookTLSKeypair" $webhookServerTLSKeypair -}}
{{- $webhookServerTLSKeypair.Cert -}}
{{- end -}}
{{- end -}}
{{- define "webhook.keyPEM" -}}
{{- if .Values.webhook.keyPEM -}}
{{ trim .Values.webhook.keyPEM }}
{{- else -}}
{{- $webhookName := printf "%s.%s.svc" (include "fission-webhook.svc" .) .Release.Namespace -}}
{{- $fullWebhookName := printf "%s.%s.svc.cluster.local" (include "fission-webhook.svc" .) .Release.Namespace -}}
{{- $webhookCA := required "self-signed CA keypair is requried" .selfSignedCAKeypair -}}
{{- $webhookServerTLSKeypair := .webhookTLSKeypair | default (genSignedCert $webhookName nil (list $webhookName $fullWebhookName) 1825 $webhookCA) -}}
{{- $_ := set . "webhookTLSKeypair" $webhookServerTLSKeypair -}}
{{- $webhookServerTLSKeypair.Key -}}
{{- end -}}
{{- end -}}
@@ -0,0 +1,185 @@
{{- define "buildermgr-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "controller-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- canaryconfigs
- environments
- functions
- httptriggers
- kuberneteswatchtriggers
- messagequeuetriggers
- packages
- timetriggers
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "executor-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "kubewatcher-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- kuberneteswatchtriggers
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "kafka-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- messagequeuetriggers
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "keda-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- messagequeuetriggers
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "preupgrade-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- canaryconfigs
- environments
- functions
- httptriggers
- kuberneteswatchtriggers
- messagequeuetriggers
- packages
- timetriggers
verbs:
- list
{{- end }}
{{- define "router-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- httptriggers
- packages
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "storagesvc-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- packages
verbs:
- get
- list
{{- end }}
{{- define "timer-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- environments
- functions
- packages
- timetriggers
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
{{- define "canaryconfig-rules" }}
rules:
- apiGroups:
- fission.io
resources:
- canaryconfigs
- httptriggers
verbs:
- list
- watch
- get
- update
{{- end }}
@@ -0,0 +1,67 @@
{{- define "fission-role-generator" }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
{{- if eq "preupgrade" .component }}
annotations:
helm.sh/hook: pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation
helm.sh/hook-weight: "-2"
{{- end }}
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
namespace: {{ .namespace }}
{{- if eq "buildermgr" .component }}
{{- include "buildermgr-rules" . }}
{{- end }}
{{- if eq "controller" .component }}
{{- include "controller-rules" . }}
{{- end }}
{{- if eq "executor" .component }}
{{- include "executor-rules" . }}
{{- end }}
{{- if eq "kubewatcher" .component }}
{{- include "kubewatcher-rules" . }}
{{- end }}
{{- if eq "kafka" .component }}
{{- include "kafka-rules" . }}
{{- end }}
{{- if eq "keda" .component }}
{{- include "keda-rules" . }}
{{- end }}
{{- if eq "preupgrade" .component }}
{{- include "preupgrade-rules" . }}
{{- end }}
{{- if eq "router" .component }}
{{- include "router-rules" . }}
{{- end }}
{{- if eq "storagesvc" .component }}
{{- include "storagesvc-rules" . }}
{{- end }}
{{- if eq "timer" .component }}
{{- include "timer-rules" . }}
{{- end }}
{{- if eq "canaryconfig" .component }}
{{- include "canaryconfig-rules" . }}
{{- end }}
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
{{- if eq "preupgrade" .component }}
annotations:
helm.sh/hook: pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation
{{- end }}
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
namespace: {{ .namespace }}
subjects:
- kind: ServiceAccount
name: "fission-{{ .component }}"
namespace: {{ .Release.Namespace }}
roleRef:
kind: Role
name: "{{ .Release.Name }}-{{ .component }}-fission-cr"
apiGroup: rbac.authorization.k8s.io
{{- end }}
@@ -0,0 +1,79 @@
{{- define "fissionFunction.roles" }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-fission-fetcher
namespace: {{ .namespace }}
rules:
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- get
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- apiGroups:
- fission.io
resources:
- packages
verbs:
- "get"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-fission-builder
namespace: {{ .namespace }}
rules:
- apiGroups:
- fission.io
resources:
- packages
verbs:
- "get"
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- get
{{- end -}}
{{- define "fissionFunction.rolebindings" }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-fission-fetcher
namespace: {{ .namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-fission-fetcher
subjects:
- kind: ServiceAccount
name: fission-fetcher
namespace: {{template "fission-function-ns" . }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-fission-builder
namespace: {{ .namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-fission-builder
subjects:
- kind: ServiceAccount
name: fission-builder
namespace: {{ template "fission-builder-ns" . }}
{{- end -}}
+31 -8
View File
@@ -72,11 +72,34 @@ This template generates the image name for the deployment depending on the value
value: "{{ .Values.openTelemetry.propagators }}"
{{- end }}
{{- define "opentracing.envs" }}
- name: OPENTRACING_ENABLED
value: {{ .Values.openTracing.enabled | default false | quote }}
- name: TRACE_JAEGER_COLLECTOR_ENDPOINT
value: "{{ .Values.openTracing.collectorEndpoint }}"
- name: TRACING_SAMPLING_RATE
value: {{ .Values.openTracing.samplingRate | default "0.5" | quote }}
{{- end }}
{{- define "fission-resource-namespace.envs" }}
- name: FISSION_RESOURCE_NAMESPACES
{{- if not .Values.singleDefaultNamespace }}
value: "{{ .Values.defaultNamespace }},{{ join "," .Values.additionalFissionNamespaces }}"
{{- else }}
value: {{ .Values.defaultNamespace }}
{{- end }}
{{- end }}
{{/*
Define the svc's name
*/}}
{{- define "fission-webhook.svc" -}}
{{- printf "webhook-service" -}}
{{- end -}}
{{- define "fission-function-ns" -}}
{{- if .Values.functionNamespace -}}
{{- printf "%s" .Values.functionNamespace -}}
{{- else -}}
{{- printf "%s" .Values.defaultNamespace -}}
{{- end -}}
{{- end -}}
{{- define "fission-builder-ns" -}}
{{- if .Values.builderNamespace -}}
{{- printf "%s" .Values.builderNamespace -}}
{{- else -}}
{{- printf "%s" .Values.builderNamespace -}}
{{- end -}}
{{- end -}}
@@ -37,5 +37,4 @@ spec:
env:
- name: GA_TRACKING_ID
value: "{{ .Values.gaTrackingID }}"
serviceAccountName: fission-svc
{{- end }}
@@ -47,5 +47,4 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
{{- end }}
@@ -47,5 +47,4 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
{{- end }}
@@ -0,0 +1,53 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-buildermgr
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- services
- serviceaccounts
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- apps
resources:
- deployments
verbs:
- list
- create
- delete
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
@@ -1,12 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-fission-cr-admin
name: {{ .Release.Name }}-buildermgr
subjects:
- kind: ServiceAccount
name: fission-svc
name: fission-buildermgr
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-fission-cr-admin
name: {{ .Release.Name }}-buildermgr
apiGroup: rbac.authorization.k8s.io
@@ -27,7 +27,7 @@ spec:
image: {{ include "fission-bundleImage" . | quote }}
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/fission-bundle"]
args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"]
args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}"]
env:
- name: FETCHER_IMAGE
{{- if eq .Values.fetcher.imageTag "" }}
@@ -39,6 +39,12 @@ spec:
value: "{{ .Values.pullPolicy }}"
- name: BUILDER_IMAGE_PULL_POLICY
value: "{{ .Values.pullPolicy }}"
- name: FISSION_BUILDER_NAMESPACE
value: "{{ .Values.builderNamespace }}"
- name: FISSION_FUNCTION_NAMESPACE
value: "{{ .Values.functionNamespace }}"
- name: FISSION_DEFAULT_NAMESPACE
value: "{{ .Values.defaultNamespace }}"
- name: ENABLE_ISTIO
value: "{{ .Values.enableIstio }}"
- name: FETCHER_MINCPU
@@ -55,7 +61,7 @@ spec:
value: {{ .Values.pprof.enabled | quote }}
- name: HELM_RELEASE_NAME
value: {{ .Release.Name | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
ports:
- containerPort: 8080
@@ -68,7 +74,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-buildermgr
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
@@ -0,0 +1,23 @@
{{- if .Values.podMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: buildermgr-monitor
{{- if .Values.podMonitor.namespace }}
namespace: {{ .Values.podMonitor.namespace }}
{{- end }}
{{- with .Values.podMonitor.additionalPodMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
svc: buildermgr
podMetricsEndpoints:
- port: "metrics"
path: "/metrics"
{{- end -}}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "buildermgr") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "buildermgr") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-buildermgr
namespace: {{ .Release.Namespace }}
@@ -0,0 +1,43 @@
{{- if .Values.canaryDeployment.enabled }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-canaryconfig
rules:
- apiGroups:
- ""
resources:
- services
verbs:
- list
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- get
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- create
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
{{- end }}
@@ -0,0 +1,14 @@
{{- if .Values.canaryDeployment.enabled }}
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-canaryconfig
subjects:
- kind: ServiceAccount
name: fission-canaryconfig
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-canaryconfig
apiGroup: rbac.authorization.k8s.io
{{- end -}}
@@ -0,0 +1,81 @@
{{- if .Values.canaryDeployment.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: canaryconfig
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
svc: canaryconfig
application: fission-canaryconfig
spec:
replicas: 1
selector:
matchLabels:
svc: canaryconfig
application: fission-canaryconfig
template:
metadata:
labels:
svc: canaryconfig
application: fission-canaryconfig
annotations:
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics"
prometheus.io/port: "8080"
spec:
{{- if .Values.canaryDeployment.securityContext.enabled }}
securityContext: {{- omit .Values.canaryDeployment.securityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
containers:
- name: canaryconfig
image: {{ include "fission-bundleImage" . | quote }}
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/fission-bundle"]
args: ["--canaryConfig"]
env:
- name: DEBUG_ENV
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.canaryDeployment.resources | nindent 10 }}
{{- if .Values.terminationMessagePath }}
terminationMessagePath: {{ .Values.terminationMessagePath }}
{{- end }}
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
volumeMounts:
- name: config-volume
mountPath: /etc/config/config.yaml
subPath: config.yaml
ports:
- containerPort: 8080
name: metrics
{{- if .Values.pprof.enabled }}
- containerPort: 6060
name: pprof
{{- end }}
serviceAccountName: fission-canaryconfig
volumes:
- name: config-volume
configMap:
name: feature-config
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.extraCoreComponentPodConfig }}
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
{{- end }}
{{- end -}}
@@ -0,0 +1,9 @@
{{- if .Values.canaryDeployment.enabled }}
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "canaryconfig") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "canaryconfig") $) }}
{{- end }}
{{- end }}
{{- end -}}
@@ -0,0 +1,7 @@
{{- if .Values.canaryDeployment.enabled }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-canaryconfig
namespace: {{ .Release.Namespace }}
{{- end -}}
@@ -0,0 +1,24 @@
{{- if .Values.canaryDeployment.enabled }}
{{- if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: canaryconfig-monitor
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- end }}
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
svc: canaryconfig
endpoints:
- targetPort: 8080
{{- end -}}
{{- end -}}
@@ -0,0 +1,43 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-controller
rules:
- apiGroups:
- ""
resources:
- services
verbs:
- list
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- get
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- create
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
{{- end -}}
@@ -0,0 +1,14 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-controller
subjects:
- kind: ServiceAccount
name: fission-controller
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-controller
apiGroup: rbac.authorization.k8s.io
{{- end -}}
@@ -1,3 +1,4 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -32,17 +33,21 @@ spec:
command: ["/fission-bundle"]
args: ["--controllerPort", "8888"]
env:
- name: FISSION_DEFAULT_NAMESPACE
value: "{{ .Values.defaultNamespace }}"
- name: FISSION_BUILDER_NAMESPACE
value: "{{ .Values.builderNamespace }}"
- name: FISSION_FUNCTION_NAMESPACE
value: "{{ .Values.functionNamespace }}"
value: "{{ .Values.functionNamespace }}"
- name: DEBUG_ENV
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
{{- include "opentracing.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.controller.resources | nindent 10 }}
@@ -79,7 +84,7 @@ spec:
name: pprof
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-controller
volumes:
- name: config-volume
configMap:
@@ -93,4 +98,5 @@ spec:
{{- end }}
{{- if .Values.extraCoreComponentPodConfig }}
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
{{- end }}
{{- end }}
{{- end -}}
@@ -0,0 +1,9 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "controller") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "controller") $) }}
{{- end }}
{{- end }}
{{- end -}}
@@ -0,0 +1,7 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-controller
namespace: {{ .Release.Namespace }}
{{- end -}}
@@ -1,3 +1,4 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
{{- if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
@@ -6,6 +7,10 @@ metadata:
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- end }}
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
@@ -15,4 +20,5 @@ spec:
svc: controller
endpoints:
- targetPort: 8080
{{- end -}}
{{- end -}}
@@ -1,3 +1,4 @@
{{- if or (.Values.controller.enabled) (.Values.influxdb.enabled) }}
apiVersion: v1
kind: Service
metadata:
@@ -15,4 +16,5 @@ spec:
nodePort: {{ .Values.controllerPort }}
{{- end }}
selector:
svc: controller
svc: controller
{{- end -}}
@@ -0,0 +1,17 @@
{{- if .Values.grafana.dashboards.enable }}
{{- $files := .Files }}
{{- range $path, $bytes := .Files.Glob "dashboards/*.json" }}
{{- $filename := trimSuffix (ext $path) (base $path) }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ printf "%s-%s" $.Chart.Name $filename | trunc 63 | trimSuffix "-" }}
namespace: {{ $.Values.grafana.namespace }}
labels:
grafana_dashboard: "1"
created_by: "{{ $.Chart.Name }}"
data:
{{ base $path }}: '{{ $files.Get $path }}'
---
{{- end }}
{{- end }}
@@ -0,0 +1,81 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-executor
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- secrets
- services
- serviceaccounts
- replicationcontrollers
- events
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- apps
resources:
- deployments
- deployments/scale
- replicasets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
- apiGroups:
- metrics.k8s.io
resources:
- pods
verbs:
- get
- list
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-executor
subjects:
- kind: ServiceAccount
name: fission-executor
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-executor
apiGroup: rbac.authorization.k8s.io
@@ -27,7 +27,7 @@ spec:
image: {{ include "fission-bundleImage" . | quote }}
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/fission-bundle"]
args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}"]
args: ["--executorPort", "8888"]
env:
- name: FETCHER_IMAGE
{{- if eq .Values.fetcher.imageTag "" }}
@@ -37,6 +37,12 @@ spec:
{{- end }}
- name: FETCHER_IMAGE_PULL_POLICY
value: "{{ .Values.pullPolicy }}"
- name: FISSION_BUILDER_NAMESPACE
value: "{{ .Values.builderNamespace }}"
- name: FISSION_FUNCTION_NAMESPACE
value: "{{ .Values.functionNamespace }}"
- name: FISSION_DEFAULT_NAMESPACE
value: "{{ .Values.defaultNamespace }}"
- name: RUNTIME_IMAGE_PULL_POLICY
value: "{{ .Values.pullPolicy }}"
- name: ADOPT_EXISTING_RESOURCES
@@ -57,9 +63,23 @@ spec:
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
- name: OBJECT_REAPER_INTERVAL
value: {{ .Values.executor.objectReaperInterval | quote }}
{{- if .Values.executor.poolmgr.objectReaperInterval }}
- name: POOLMGR_OBJECT_REAPER_INTERVAL
value: {{ .Values.executor.poolmgr.objectReaperInterval | quote }}
{{- end}}
{{- if .Values.executor.newdeploy.objectReaperInterval }}
- name: NEWDEPLOY_OBJECT_REAPER_INTERVAL
value: {{ .Values.executor.newdeploy.objectReaperInterval | quote }}
{{- end}}
{{- if .Values.executor.container.objectReaperInterval }}
- name: CONTAINER_OBJECT_REAPER_INTERVAL
value: {{ .Values.executor.container.objectReaperInterval | quote }}
{{- end}}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
- name: HELM_RELEASE_NAME
value: {{ .Release.Name | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.executor.resources | nindent 10 }}
@@ -95,7 +115,7 @@ spec:
{{- else if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-executor
{{- if .Values.executor.priorityClassName }}
priorityClassName: {{ .Values.executor.priorityClassName }}
{{- else if .Values.priorityClassName }}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "executor") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "executor") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-executor
namespace: {{ .Release.Namespace }}
@@ -6,6 +6,10 @@ metadata:
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- end }}
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
@@ -0,0 +1,13 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-fluentbit
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-fluentbit
subjects:
- kind: ServiceAccount
name: fission-fluentbit
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-fluentbit
apiGroup: rbac.authorization.k8s.io
@@ -118,8 +118,6 @@ spec:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: OPENTRACING_ENABLED
value: {{ .Values.openTracing.enabled | default false | quote }}
command: ["/fission-bundle"]
args: ["--logger"]
volumeMounts:
@@ -161,8 +159,6 @@ spec:
key: password
- name: LOG_PATH
value: /var/log/fission/*.log
- name: OPENTRACING_ENABLED
value: {{ .Values.openTracing.enabled | default false | quote }}
{{- if .Values.logger.enableSecurityContext }}
securityContext:
privileged: true
@@ -177,7 +173,7 @@ spec:
- name: fluentbit-config
mountPath: /fluent-bit/etc/
readOnly: true
serviceAccountName: fission-svc
serviceAccountName: fission-fluentbit
volumes:
- name: container-log
hostPath:
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-fluentbit
namespace: {{ .Release.Namespace }}
@@ -0,0 +1,56 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-kubewatcher
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- secrets
- services
- serviceaccounts
- replicationcontrollers
- events
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- batch
resources:
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-kubewatcher
subjects:
- kind: ServiceAccount
name: fission-kubewatcher
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-kubewatcher
apiGroup: rbac.authorization.k8s.io
@@ -29,7 +29,7 @@ spec:
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.kubewatcher.resources | nindent 10 }}
@@ -39,7 +39,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-kubewatcher
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kubewatcher") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "kubewatcher") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-kubewatcher
namespace: {{ .Release.Namespace }}
@@ -1,24 +1,29 @@
{{- if .Values.createNamespace }}
{{- if and (ne .Values.functionNamespace "default") (ne .Values.functionNamespace "") }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.functionNamespace }}
name: {{ template "fission-function-ns" . }}
labels:
name: fission-function
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
{{- if .Values.enableIstio }}
istio-injection: enabled
{{- end }}
{{- end}}
---
{{- if and (ne .Values.builderNamespace "default") (ne .Values.builderNamespace "") }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.builderNamespace }}
name: {{ template "fission-builder-ns" . }}
labels:
name: fission-builder
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
{{- if .Values.enableIstio }}
istio-injection: enabled
{{- end }}
{{- end }}
{{- end }}
@@ -1,70 +1,30 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-fission-fetcher
namespace: {{ .Values.defaultNamespace }}
rules:
- apiGroups:
- ""
resources:
- configmaps
- secrets
- pods
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- "*"
- apiGroups:
- fission.io
resources:
- canaryconfigs
- environments
- functions
- httptriggers
- kuberneteswatchtriggers
- messagequeuetriggers
- packages
- timetriggers
verbs:
- "*"
{{/*
Passing namespace as an argument to the "fissionFunction.roles" template.
Need to use merge function to pass in the current scope so that ".Release" values
can be used
*/}}
{{ include "fissionFunction.roles" (merge (dict "namespace" .Values.defaultNamespace) .) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-fission-builder
namespace: {{ .Values.defaultNamespace }}
rules:
- apiGroups:
- fission.io
resources:
- canaryconfigs
- environments
- functions
- httptriggers
- kuberneteswatchtriggers
- messagequeuetriggers
- packages
- timetriggers
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: {{ .Values.functionNamespace }}
namespace: {{ template "fission-function-ns" . }}
name: {{ .Release.Name }}-event-fetcher
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
- apiGroups: [""] # "" indicates the core API group
resources: ["events"]
verbs: ["*"]
- apiGroups:
- ""
resources:
- "events"
verbs:
- "get"
- "list"
- "watch"
- "create"
- "update"
- "patch"
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fissionFunction.roles" (merge (dict "namespace" $namespace) $) }}
{{- end }}
{{- end }}
@@ -1,38 +1,15 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-fission-fetcher
namespace: {{ .Values.defaultNamespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-fission-fetcher
subjects:
- kind: ServiceAccount
name: fission-fetcher
namespace: {{ .Values.functionNamespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-fission-builder
namespace: {{ .Values.defaultNamespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-fission-builder
subjects:
- kind: ServiceAccount
name: fission-builder
namespace: {{ .Values.builderNamespace }}
{{/*
Passing namespace as an argument to the "fissionFunction.rolebindings" template.
Need to use merge function to pass in the current scope so that ".Release" values
can be used
*/}}
{{ include "fissionFunction.rolebindings" (merge (dict "namespace" .Values.defaultNamespace) .) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-fission-fetcher-pod-reader
namespace: {{ .Values.functionNamespace }}
namespace: {{ template "fission-function-ns" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
@@ -40,4 +17,10 @@ roleRef:
subjects:
- kind: ServiceAccount
name: fission-fetcher
namespace: {{ .Values.functionNamespace }}
namespace: {{ template "fission-function-ns" . }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fissionFunction.rolebindings" (merge (dict "namespace" $namespace) $) }}
{{- end }}
{{- end }}
@@ -2,11 +2,11 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-fetcher
namespace: {{ .Values.functionNamespace }}
namespace: {{ template "fission-function-ns" . }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-builder
namespace: {{ .Values.builderNamespace }}
namespace: {{ template "fission-builder-ns" . }}
@@ -0,0 +1,62 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-kafka
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- secrets
- services
- serviceaccounts
- replicationcontrollers
- events
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- apps
resources:
- deployments
- deployments/scale
- replicasets
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-kafka
subjects:
- kind: ServiceAccount
name: fission-kafka
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-kafka
apiGroup: rbac.authorization.k8s.io
@@ -33,6 +33,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/fission-bundle"]
args: ["--mqt", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
ports:
- containerPort: 8080
name: metrics
env:
- name: MESSAGE_QUEUE_TYPE
value: kafka
@@ -44,7 +47,7 @@ spec:
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
# TLS authentication is TLS with authentication (2 way)
# More info: https://docs.confluent.io/current/kafka/authentication_ssl.html#ssl-overview
@@ -65,7 +68,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-kafka
{{- if .Values.kafka.authentication.tls.enabled }}
volumes:
- name: kafka-secrets
@@ -0,0 +1,23 @@
{{- if .Values.podMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: mqt-fission-kafka-monitor
{{- if .Values.podMonitor.namespace }}
namespace: {{ .Values.podMonitor.namespace }}
{{- end }}
{{- with .Values.podMonitor.additionalPodMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
svc: mqtrigger
podMetricsEndpoints:
- port: "metrics"
path: "/metrics"
{{- end -}}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "kafka") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "kafka") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-kafka
namespace: {{ .Release.Namespace }}
@@ -1,7 +1,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-fission-cr-admin
name: {{ .Release.Name }}-keda
rules:
- apiGroups:
- ""
@@ -12,7 +12,6 @@ rules:
- services
- serviceaccounts
- replicationcontrollers
- namespaces
- events
verbs:
- create
@@ -28,21 +27,13 @@ rules:
- deployments/scale
- replicasets
verbs:
- '*'
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- '*'
- update
- patch
- delete
- apiGroups:
- apiextensions.k8s.io
resources:
@@ -51,31 +42,18 @@ rules:
- get
- list
- watch
- apiGroups:
- fission.io
resources:
- canaryconfigs
- environments
- functions
- httptriggers
- kuberneteswatchtriggers
- messagequeuetriggers
- packages
- timetriggers
verbs:
- '*'
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- '*'
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- '*'
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
@@ -92,7 +70,13 @@ rules:
- triggerauthentications
- triggerauthentications/status
verbs:
- '*'
- create
- get
- list
- watch
- update
- patch
- delete
{{- if .Values.mqt_keda.enabled }}
- apiGroups:
- keda.k8s.io
@@ -104,7 +88,13 @@ rules:
- triggerauthentications
- triggerauthentications/status
verbs:
- '*'
- create
- get
- list
- watch
- update
- patch
- delete
{{- end }}
- apiGroups:
- metrics.k8s.io
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-keda
subjects:
- kind: ServiceAccount
name: fission-keda
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-keda
apiGroup: rbac.authorization.k8s.io
@@ -40,11 +40,13 @@ spec:
value: "{{ .Values.mqt_keda.connector_images.aws_sqs.image }}:{{ .Values.mqt_keda.connector_images.aws_sqs.tag }}"
- name: STAN_IMAGE
value: "{{ .Values.mqt_keda.connector_images.nats_steaming.image }}:{{ .Values.mqt_keda.connector_images.nats_steaming.tag }}"
- name: NATS-JETSTREAM_IMAGE
value: "{{ .Values.mqt_keda.connector_images.nats_jetstream.image }}:{{ .Values.mqt_keda.connector_images.nats_jetstream.tag }}"
- name: GCP-PUBSUB_IMAGE
value: "{{ .Values.mqt_keda.connector_images.gcp_pubsub.image }}:{{ .Values.mqt_keda.connector_images.gcp_pubsub.tag }}"
- name: REDIS_IMAGE
value: "{{ .Values.mqt_keda.connector_images.redis.image }}:{{ .Values.mqt_keda.connector_images.redis.tag }}"
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.mqt_keda.resources | nindent 10 }}
@@ -54,7 +56,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-keda
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "keda") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "keda") $) }}
{{- end }}
{{- end }}
@@ -1,5 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-svc
name: fission-keda
namespace: {{ .Release.Namespace }}
@@ -0,0 +1,17 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-preupgrade
annotations:
helm.sh/hook: pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation
helm.sh/hook-weight: "-2"
rules:
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
@@ -0,0 +1,15 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-preupgrade
annotations:
helm.sh/hook: pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation
subjects:
- kind: ServiceAccount
name: fission-preupgrade
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-preupgrade
apiGroup: rbac.authorization.k8s.io
@@ -15,6 +15,7 @@ metadata:
# job is considered part of the release.
"helm.sh/hook": pre-upgrade
"helm.sh/hook-delete-policy": hook-succeeded
"helm.sh/hook-weight": "1"
spec:
backoffLimit: 0
template:
@@ -34,12 +35,13 @@ spec:
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy }}
command: [ "/pre-upgrade-checks" ]
args: ["--fn-pod-namespace", "{{ .Values.functionNamespace }}", "--envbuilder-namespace", "{{ .Values.builderNamespace }}"]
env:
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- if .Values.terminationMessagePath }}
terminationMessagePath: {{ .Values.terminationMessagePath }}
{{- end }}
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-preupgrade
{{- end }}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "preupgrade") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "preupgrade") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,9 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-preupgrade
namespace: {{ .Release.Namespace }}
annotations:
helm.sh/hook: pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation
helm.sh/hook-weight: "-1"
@@ -0,0 +1,60 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-router
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- secrets
- services
- serviceaccounts
- replicationcontrollers
- events
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-router
subjects:
- kind: ServiceAccount
name: fission-router
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-router
apiGroup: rbac.authorization.k8s.io
@@ -83,7 +83,7 @@ spec:
value: {{ .Values.pprof.enabled | quote }}
- name: DISPLAY_ACCESS_LOG
value: {{ .Values.router.displayAccessLog | default false | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.router.resources | nindent 10 }}
@@ -123,7 +123,7 @@ spec:
{{- else if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-router
volumes:
- name: config-volume
configMap:
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "router") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "router") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-router
namespace: {{ .Release.Namespace }}
@@ -6,6 +6,10 @@ metadata:
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- end }}
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
@@ -60,7 +60,7 @@ spec:
- name: STORAGE_S3_REGION
value: {{ .Values.persistence.s3.region }}
{{- end }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.storagesvc.resources | nindent 10 }}
@@ -97,7 +97,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-storagesvc
{{- if and (.Values.persistence.enabled) (ne (.Values.persistence.storageType | default "local") "s3") }}
volumes:
- name: fission-storage
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "storagesvc") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "storagesvc") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-storagesvc
namespace: {{ .Release.Namespace }}
@@ -5,7 +5,11 @@ metadata:
name: storagesvc-monitor
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- end }}
{{- end }}
{{- with .Values.serviceMonitor.additionalServiceMonitorLabels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
namespaceSelector:
matchNames:
@@ -0,0 +1,48 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-timer
rules:
- apiGroups:
- ""
resources:
- configmaps
- pods
- secrets
- services
- serviceaccounts
- replicationcontrollers
- events
verbs:
- create
- delete
- get
- list
- watch
- patch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
verbs:
- create
- get
- list
- watch
- update
- patch
- delete
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- bind
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
@@ -0,0 +1,12 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Name }}-timer
subjects:
- kind: ServiceAccount
name: fission-timer
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-timer
apiGroup: rbac.authorization.k8s.io
@@ -29,7 +29,7 @@ spec:
value: {{ .Values.debugEnv | quote }}
- name: PPROF_ENABLED
value: {{ .Values.pprof.enabled | quote }}
{{- include "opentracing.envs" . | indent 8 }}
{{- include "fission-resource-namespace.envs" . | indent 8 }}
{{- include "opentelemtry.envs" . | indent 8 }}
resources:
{{- toYaml .Values.timer.resources | nindent 10 }}
@@ -39,7 +39,7 @@ spec:
{{- if .Values.terminationMessagePolicy }}
terminationMessagePolicy: {{ .Values.terminationMessagePolicy }}
{{- end }}
serviceAccountName: fission-svc
serviceAccountName: fission-timer
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
@@ -0,0 +1,7 @@
{{- include "fission-role-generator" (merge (dict "namespace" .Values.defaultNamespace "component" "timer") .) }}
{{- if not .Values.singleDefaultNamespace }}
{{- range $namespace := $.Values.additionalFissionNamespaces }}
{{ include "fission-role-generator" (merge (dict "namespace" $namespace "component" "timer") $) }}
{{- end }}
{{- end }}
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: fission-timer
namespace: {{ .Release.Namespace }}
@@ -0,0 +1,38 @@
{{- $certManagerEnabled := .Values.webhook.certManager.enabled }}
{{- if not $certManagerEnabled }}
kind: Secret
apiVersion: v1
metadata:
name: fission-webhook-certs
labels:
app.kubernetes.io/component: webhook-secret
type: Opaque
data:
ca.crt: {{ b64enc (include "webhook.caBundleCertPEM" .) }}
tls.crt: {{ b64enc (include "webhook.certPEM" .) }}
tls.key: {{ b64enc (include "webhook.keyPEM" .) }}
{{- else }}
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: fission-selfsigned-issuer
namespace: {{ .Release.Namespace }}
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: fission-webhook-cert
namespace: {{ .Release.Namespace }}
spec:
secretName: fission-webhook-certs
dnsNames:
- "webhook-service.{{ .Release.Namespace }}.svc"
- "webhook-service.{{ .Release.Namespace }}.svc.cluster.local "
issuerRef:
name: fission-selfsigned-issuer
{{- end }}
@@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: webhook
labels:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
svc: webhook-service
application: fission-webhook
spec:
replicas: 1
selector:
matchLabels:
svc: webhook-service
application: fission-webhook
template:
metadata:
labels:
svc: webhook-service
application: fission-webhook
annotations:
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics"
prometheus.io/port: "8080"
spec:
{{- if .Values.webhook.securityContext.enabled }}
securityContext: {{- omit .Values.webhook.securityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
containers:
- name: webhook
image: {{ include "fission-bundleImage" . | quote }}
imagePullPolicy: {{ .Values.pullPolicy }}
command: ["/fission-bundle"]
args: ["--webhookPort", "9443"]
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: serving-certs
readOnly: true
ports:
- containerPort: 8080
name: metrics
volumes:
- name: serving-certs
secret:
secretName: fission-webhook-certs
serviceAccountName: fission-webhook
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.extraCoreComponentPodConfig }}
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
{{- end }}

Some files were not shown because too many files have changed in this diff Show More