Commit Graph
395 Commits
Author SHA1 Message Date
Alex AngeliniandGitHub 3dd679d598 Add sync triggers debounce (#2631) 2022-11-22 14:30:51 +05:30
neha_guptaandGitHub 2fb11c5aaf remove controller check (#2632) 2022-11-22 13:10:50 +05:30
Sanket SudakeandGitHub 488e8f07f5 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 3161bf2f44 add validation to avoid cross ns config and functions (#2627) 2022-11-17 20:43:07 +05:30
neha_guptaandGitHub 5a7b848fc0 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 2bb8b34212 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 c92cf56552 use namespace flag from global options for watch command (#2622) 2022-11-15 21:10:05 +05:30
neha_guptaandGitHub 6672271882 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
de170fd48c 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
Shubham BansalandGitHub 59ad88765d Delete builder service associated with environment name (#2616) 2022-11-12 09:11:05 +05:30
neha_guptaandGitHub 519e67d462 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 987d4e8f10 List fission resources in specific namespace instead of all namespace (#2604) 2022-11-08 10:25:09 +05:30
81091f54ed 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 4bdcf99a30 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 21e6c0fa15 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 eabb56cf02 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
99e85a6906 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 2956cfb724 Run package informer in go routine for multiple namespaces in buildermanager (#2592) 2022-11-01 20:01:03 +05:30
Shubham BansalandGitHub d8884d03ae newdeploy executor to work with specific namespaces (#2590) 2022-10-31 12:55:57 +05:30
neha_guptaandGitHub 6decb28aad use controller-runtime signals (#2589) 2022-10-31 12:03:06 +05:30
Shubham BansalandGitHub 82616bdadb 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 6afac4695e 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 db035f4bb8 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 0f07ea7953 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 511ea5023a 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
db47400576 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 0878c4a578 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
Sanket SudakeandGitHub b793ec6856 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 5b8d569e1d 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 1f23c1b57d.

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-10-13 15:04:49 +05:30
neha_guptaandGitHub 40bbd439b2 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
Sanket SudakeandGitHub ea80865efe Ensuring passing context across fission (#2555)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-09-26 16:05:45 +05:30
Andrey DudinandGitHub ef81f958a5 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 c495432ebb 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 b1eed7a5d5 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 b70802b415 changes to inject of otelhttp transport in executor (#2552) 2022-09-22 10:47:47 +05:30
3baa8f479e 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
Shubham BansalandGitHub 84eeda933a 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
c9e6460b1b 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
Sanket SudakeandGitHub f2e9fb6778 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
6794f26a9f 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
519c4bb71b 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 8c398a75bc 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
neha_guptaandGitHub 3a2e56c74f 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 bd91f0220f Correct error message in otel propagators test (#2522) 2022-08-26 11:43:37 +05:30
Sanket SudakeandGitHub 5332d213b7 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
Sanket SudakeandGitHub 16a7adcb95 Update go-restful libraries (#2509)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2022-08-09 16:09:40 +05:30
Sanket SudakeandGitHub 809c9bec45 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 95cdee38cc 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
Shubham BansalandGitHub 4c2f38b4dc removed unused reference of TRACING_SAMPLING_RATE (#2498) 2022-07-27 14:30:30 +05:30
Sanket SudakeandGitHub 0e05b3a48b 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