Commit Graph
317 Commits
Author SHA1 Message Date
Shubham BansalandGitHub 3e25f474b0 Remove singleDefaultNamespace field from helm chart (#2670)
* remove singleDefaultNamespace field from helm chart

* changed permission from list to get
2022-12-14 14:17:34 +05:30
Shubham BansalandGitHub d52c60216e Create role and rolebinding for event-fetcher in multiple namespaces (#2669)
* create event-fetcher role and rolebinding in all namespace

* code review changes

* changed rolebinding name
2022-12-14 12:18:23 +05:30
Shubham BansalandGitHub 16cbb87eab Create role/role binding/service account required for builder/function pods (#2667)
* service account changes for fission-builder
* moved code into executor
* changed default timing to 30 min
* code refactor and add new roles for executor
* create role if serviceAccountCheck is enabled
2022-12-14 09:06:20 +05:30
Sanket SudakeandGitHub 300739c031 Remove service account/role binding/role permissions from Fission services (#2655)
* Remove cluster role references
* Convert secret/package getter cluster roles to role
* Remove all cluster role binding permissions
* Remove unwanted permission
* Try removing all RBAC-related code
* Remove additional constants
* Add functionality for service account checks
* Restrict permission across services
* Remove package informer factory from the executor
* Revert service account check code for now
* Skip adding roles in place of cluster roles
* Remove additional permission from the router

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-12-08 16:15:19 +05:30
Sanket SudakeandGitHub 985d94b5b8 Consume podspec patch directly on executor/builder mounts (#2661)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-12-08 11:38:57 +05:30
Shubham BansalandGitHub 9ccd2a4128 Generate kubernetes roles in fission-function and fission-builder namespace (#2656)
* generate roles in fission-builder and fission-function namespace

* use default namespace if buidler namespace is empty
2022-12-06 13:22:58 +05:30
e9fd13b60c Remove cluster roles for all Fission service accounts (#2629)
* Replace all cluster roles with autogenerated namespaced roles
* Use cluster role only for preupgrade api extension permissions
* Correct role definition typos

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-12-05 15:11:37 +05:30
Sanket SudakeandGitHub 0aec9e139e Enable security context by default (#2644)
We enable security context by default now, so that the fission pod do not have root access to the system.

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

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-11-29 10:44:30 +05:30
neha_guptaandGitHub 1e0641d5f9 Removed call to InfluxDB via controller proxy (#2638)
* handle error condition in fission fn log command
* use the single stream for log exclude fetcher logs
* add all pods in the fn logs command
* update the previous stable version
* remove proxy to the controller for influxdb call
* stop running controller if influxdb flag turned true
* port-forward for influx DB
* remove controller dependency from test case
* port forward to influx DB if URL not provided by the user
* archive pruner test
2022-11-25 21:11:25 +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 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
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
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 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
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
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
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
61f4d4f5ad Fix dashboard template (#2546)
Co-authored-by: shaunak_deshmukh <shaunak@infracloud.io>
2022-09-15 19:17:31 +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
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
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 8238916340 Add endPoint property example (#2518) 2022-08-24 21:55:38 +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 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
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
Sanket SudakeandGitHub 770c19a27b Update release version v1.17.0-rc1 (#2470)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-07-06 15:01:39 +05:30
Ankit ChawlaandGitHub 473acc4e2b Added support to set builder and fn pod specs via helm chart (#2461)
The users can now set the pod spec for builder and fn pods via helm chart.
Currently we have set some default securitycontext for the pods. Before there were no permissions set and the user would by default enter root when kubectl exec into pod. Now the permissions have been set and the user will not be able to access root directory in poolmgr and newdeploy pods.
2022-06-27 16:52:28 +05:30
Ankit ChawlaandGitHub b80b41e1fd Added variable to enable or disable archivePruner (#2458)
* Added variable to enable or disable archivePruner

* Made fixes according to code review comments

* Minor changes
2022-06-15 10:48:24 +05:30
Yatish SharmaandGitHub 7be3e4f410 [issue-2401] Added pod security context for Fission Components (#2449)
Following component has been updated with securityContext -
1. buildermgr
2. controller
3. executor
4. kubewatcher
5. router
6. timer
7. storagesvc

* Removed the security context from fetcher as per the offline discussion
2022-06-09 16:25:09 +05:30
Ankit ChawlaandGitHub ed1e4a5cf0 Updated keda image versions (#2433) 2022-05-24 12:51:02 +05:30
Sanket SudakeandGitHub 3cf7dc89b9 Update helm chart version to v1.16.0 (#2432)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-05-24 12:34:21 +05:30
Sanket SudakeandGitHub 9547623a90 Update helm version to 1.16.0-rc2 (#2426)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-05-11 12:32:11 +05:30
Ankit ChawlaandGitHub 925f817e42 Added service monitors for components whose metrics are exposed (#2424) 2022-05-04 16:22:30 +05:30
b638a6d047 Prometheus metrics improvements (#2398)
- Enabled metrics in storagesvc, buildermgr and controller.
- Added a middleware in storagesvc, router, executor and controller to monitor total number of http requests, each request's duration and number of requests that are currently being served. These requests can be filtered on their path, method or statuscode.
- Removed functionCallDuration and functionCallResponseSize metrics from router.
- Removed funcAliveSummary, funcIsAlive, funcReapTime and idleTime metrics.
- Replaced function calls for collecting metrics to direct metric calls.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-04-13 21:49:46 +05:30
Sanket SudakeandGitHub 8b9c2b4da1 Remove deprecated Fission Azure Storage Queue connector (#2404)
We are removing Fission deprecated Azure Storage Queue connector and
planning to adopt Keda going forward to have better
delegated functionality and more rich support.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-04-06 15:13:56 +05:30
Sanket SudakeandGitHub 4e91579ef2 Remove deprecated Fission Nats connector (#2403)
We are removing Fission deprecated Nats connector and
planning to adopt Keda going forward to have better
delegated functionality and more rich support.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-04-06 13:41:38 +05:30
24dee03e18 Added metrics for fission mqtrigger and optimizations in trigger subscriptions (#2399)
- Use mqtrigger watch instead of polling mqtrigger every 5 seconds
- Added metrics to monitor no of subscriptions, and no of messages per subscription
- Add standard go metrics exported by prometheus
- Enable prometheus discovery for mqtrigger pod
- Optimized mqtrigger manager cache
- Add unit tests for mqtrigger cache

Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2022-04-05 21:51:05 +05:30
Ankit ChawlaandGitHub ba7fb86f5b Fixing gcp connector name typo (#2393) 2022-03-17 18:39:00 +05:30
Sanket SudakeandGitHub 21c76683ef [helm chart] Remove prometheus chart dependency from Fission (#2371)
* Removing Prometheus dependency from fission chart
* User should install their own Prometheus installation
* Install Prometheus chart in Github CI workflow
* Change Prometheus query logging to debug

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-03-02 10:58:56 +05:30
Ankit ChawlaandGitHub e1d86d8969 Added imagepullsecrets to helm (#2364) 2022-02-28 14:18:18 +05:30
858aefee6b [helm chart] fission deployments resources (#2370)
* fix helm templating on resources of router deployment

* add resources attribute to other fission deployments

Co-authored-by: crmendes <carlos.mendes@kelvininc.com>
2022-02-25 10:26:47 +05:30
Sanket SudakeandGitHub 4f8a60b498 Update version to v1.16.0-rc1 in chart (#2350)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-02-11 15:19:44 +05:30