* feat: add custom analyzer management capability
Introduced the ability to manage custom analyzers in the K8sGPT application, enabling users to add, deploy, and configure custom analyzers from various sources. This enhancement supports extending the application's analytical capabilities by integrating external analysis tools, thus offering more flexibility and customization options to meet specific user needs.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: enhance custom analyzer management with removal functionality
Introduced the ability to remove custom analyzers, streamlining the management process and ensuring flexibility in custom analyzer configuration. This enhancement addresses the need for dynamic customization and maintenance of analyzer setups, facilitating easier updates and modifications to the analysis environment.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: add list command to customAnalyzer for displaying configured analyzers
Implemented a new list command within the customAnalyzer module to enable users to view all configured custom analyzers. This enhancement aims to improve usability by providing a straightforward method for users to inspect their custom analyzer configurations directly from the command line.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: add support for listing, adding, and removing custom analyzers
This update introduces commands to manage custom analyzers in the k8sgpt tool, enhancing flexibility and control over analyzer configurations without the need for direct installation or docker dependency.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: support private docker image authentication for custom analyzers
Added authentication support for pulling private Docker images when adding custom analyzers, enhancing security and access control.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: remove Docker custom analyzer installation
Removed the installation and deployment functionality for custom analyzers, streamlining the process of adding analyzers. This change focuses on simplifying the configuration by eliminating the need for specifying installation types, package URLs, and authentication details for Docker images. The goal is to enhance user experience by making the addition of custom analyzers more straightforward and less error-prone.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* fix: remove unused packageUrl
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: update add command description to reflect broader functionality
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: Add name validation for custom analyzer creation
To ensure the integrity and consistency of analyzer names, we introduced a validation step that checks the format of the name against a predefined regex pattern. This change aims to prevent the creation of analyzers with invalid names, enhancing the system's reliability and usability.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
* feat: refactor customAnalyzer package for consistent naming
Refactored the customAnalyzer package and its references to use consistent snake_case naming for improved code readability and alignment with Go naming conventions.
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
---------
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
This commit adds Top-K sampling, a feature that allows users to control
the randomness of the generated text by specifying the number of most
probable next words considered by the model. This enhances user control
and potentially improves the quality of the generated outputs.
Fixes: https://github.com/k8sgpt-ai/k8sgpt/issues/1105
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
Co-authored-by: Alex Jones <alexsimonjones@gmail.com>
This commit adds new tests for the `pkg/integration` package. As a
result, the code the code coverage of the package has increased from 0%
to 100%
This also includes a minor adjustment in the error statements of the
`Activate` and `Deactive` functions to ensure better understanding of
the cause of the error.
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
Co-authored-by: Alex Jones <alexsimonjones@gmail.com>
* chore(deps): update cohere client implementation to v2 and to use chat endpoint
Signed-off-by: Miguel Varela Ramos <miguel@cohere.ai>
* chore: remove renovate rule for cohere-go
Signed-off-by: Miguel Varela Ramos <miguel@cohere.ai>
* style: remove unused attribute
Signed-off-by: Miguel Varela Ramos <miguel@cohere.ai>
* fix: go mod
Signed-off-by: Miguel Varela Ramos <miguel@cohere.ai>
---------
Signed-off-by: Miguel Varela Ramos <miguel@cohere.ai>
Signed-off-by: Miguel Varela Ramos <miguelvramos92@gmail.com>
Co-authored-by: Alex Jones <alexsimonjones@gmail.com>
- Fixed a small bug where failures were being appended multiple times
for CrashLoopBackOff and ContainerCreating container status reasons.
- Added missing test cases to ensure proper testing of the Pod analyzer.
The addition of these missing test cases has increased the code
coverage of this analyzer to 98%.
- Added checks for init containers in a pod.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
* chore: allows an environmental override of the default AWS region and using it for bedrock
Signed-off-by: Alex Jones <alexsimonjones@gmail.com>
* chore: missing provider region
Signed-off-by: Alex Jones <alexsimonjones@gmail.com>
---------
Signed-off-by: Alex Jones <alexsimonjones@gmail.com>
* test: added missing tests for the CronJob analyzer
- Fixed a small bug where pre-analysis was incorrectly appended to the
results every time at the end of the for loop. This caused the result
for a single cronjob failure to be appended multiple times in the
final results.
- Added missing test cases to ensure proper testing of the CronJob
analyzer. The addition of these missing test cases has increased the
code coverage of this analyzer to over 96%.
Partially Addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
* test: removed failure strings matching from tests
It is possible that the error or failure strings might change in the
future, causing the tests to fail. This commit addresses that issue by
removing the matching of failure text from various analyzer tests.
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
---------
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
- This commit removes unnecessary tests defined in the pkg/kubernetes
package.
- The removed tests were found to be flaky and were causing a
significant increase in CI time without adding much value to
the codebase.
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
* Added new tests for the `Service` analyzer defined in the
`pkg/analyzer` package.
* The addition of these new tests has increased the code coverage of the
service.go file to over 97%.
* Additionally addressed some flaky tests related to the `ReplicaSet`and
`PersisentVolumeClaim` analyzers.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
Co-authored-by: Aris Boutselis <arisboutselis08@gmail.com>
- Removed test cases which required access to `/root` from the
`pkg/util` package.
- Fixed flaky `PodDisruptionBudget` test.
- Fixed a typo in `PersistentVolumeClaim` test.
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
This commit introduces comprehensive tests for the
`PersistentVolumeClaim` analyzer defined in the `pkg/analyzer` package.
Adding these tests increases the code coverage of the `pvc.go` file to
>95%.
I also made minor modifications to the ReplicaSet test to ensure all
expectations were met.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
This commit introduces comprehensive tests for the `PodDisruptionBudget`
analyzer defined in the `pkg/analyzer` package.
Adding these tests increases the code coverage of the `pdb.go` file to
>96%.
Additionally, a potential crash in case of empty or nil PDB status
conditions has been addressed.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
This commit introduces comprehensive tests for the mutating webhook
analyzer defined in the `pkg/analyzer` package.
Adding these tests increases the code coverage of the
`mutating_webhook.go` file to almost 95%.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
This commit introduces comprehensive tests for the ReplicaSet analyzer
defined in the `pkg/analyzer` package.
Adding these tests increases the code coverage of the `rs.go` file to
>95%.
Partially addresses: https://github.com/k8sgpt-ai/k8sgpt/issues/889
Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>