* fix: webhook validation to check definition existence in namespaces and privilege checks
Signed-off-by: Reetika Malhotra <malhotra.reetika25@gmail.com>
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: make reviewable changes
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* Update Ingress API version and enhance output validation tests
- Changed Ingress API version from v1beta1 to v1 in multiple test files to align with Kubernetes API updates.
- Added pathType specification to Ingress rules for better compatibility.
- Introduced a new e2e test for validating outputs in ComponentDefinition, TraitDefinition, PolicyDefinition, and WorkflowStepDefinition, ensuring proper handling of valid and invalid resources.
- Enhanced existing tests to check for non-existent CRDs in outputs and validate definitions with mixed valid and invalid resources.
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: update comment for expected error count in definition permissions test
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: improve error handling message in definitionExistsInNamespace function
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: enhance definition permission checks and add corresponding test cases
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: clarify comment for definition permission check in ValidateComponents
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
* fix: add existing definitions to validation permissions tests for improved coverage
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
---------
Signed-off-by: Reetika Malhotra <malhotra.reetika25@gmail.com>
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com>
Co-authored-by: Reetika Malhotra <malhotra.reetika25@gmail.com>
* feat(multicluster): Enhance unit test coverage for multicluster utilities
This commit introduces a comprehensive suite of unit tests for the multicluster management functions in pkg/multicluster.
Key changes include:
- `cluster_management_test.go`: Improves the structure of TestDetachCluster and TestRenameCluster by organizing test cases into a collection, which enhances clarity and
simplifies adding new scenarios.
- `utils_test.go` and `virtual_cluster_test.go`: Adds new test cases to validate additional utility and virtual cluster helper functions, increasing overall test
coverage.
These additions improve the overall test coverage and ensure the correctness and reliability of multicluster operations.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(multicluster): Add unit tests for multicluster workflow provider
This commit introduces new unit tests for the multicluster workflow provider located in pkg/workflow/providers/multicluster.
Key additions include:
- Comprehensive tests for the Deploy workflow step, covering parameter validation, error handling, and successful deployment scenarios.
- New tests for GetPlacementsFromTopologyPolicies to ensure correct placement resolution from topology policies, including error cases and default behaviors.
These additions improve the test coverage and ensure the robustness of the multicluster workflow provider.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* fix(multicluster): Correct duplicate import in utils_test.go
This commit resolves a linting error (ST1019) in pkg/multicluster/utils_test.go caused by the k8s.io/api/core/v1 package being imported twice with different aliases (v1
and corev1).
The redundant import alias v1 has been removed, and the corresponding type reference for []v1.Secret has been updated to []corev1.Secret to maintain consistency.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* test(multicluster): fix cross-test side effects
The TestListExistingClusterSecrets function mutates the global
variable ClusterGatewaySecretNamespace without restoring its original
value. This can lead to unpredictable behavior in other tests that
rely on this variable.
This commit fixes the issue by saving the value of
ClusterGatewaySecretNamespace before the test runs and restoring it
afterward using a defer statement.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* test(multicluster): remove redundant test case in TestContext
The `TestContextWithClusterName` sub-test in `TestContext` is redundant, as its functionality is already covered by the more comprehensive `TestClusterNameInContext` sub-test.
This commit removes the unnecessary test to improve the clarity and maintainability of the test suite without sacrificing coverage.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
---------
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* test(resourcekeeper): add unit tests for resource management
This commit introduces new unit tests to improve the test coverage of the `resourcekeeper` package.
- A new test file `containsresources_test.go` is added, which includes a comprehensive table-driven test for the `ContainsResources` function.
- A new table-driven test, `TestUpdateSharedManagedResourceOwner`, is added to `gc_test.go` to verify the logic for updating ownership of shared resources.
These tests follow Go best practices and enhance the robustness of the resourcekeeper functionality.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(resourcetracker): add unit tests for tree display logic
This commit enhances the test coverage for the resource tree display logic in the `pkg/resourcetracker` package.
- Refactors `TestResourceTreePrintOption_getWidthForDetails` to cover more cases and improve test clarity.
- Adds a comprehensive test for `TestPrintResourceTree` to verify the output of the resource tree printing.
- Introduces a new test for the `tableRoundTripper` to ensure the HTTP `Accept` header is correctly mutated.
- Adds tests for helper functions like `TestLoadResourceRows`, `TestSortRows`, and `TestFillResourceRows` to ensure each part of the tree building logic is working as expected.
These changes improve the overall quality and reliability of the resource tracker's tree view functionality.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(envbinding): add unit tests for placement logic
This commit enhances the test coverage for the `envbinding` policy package.
- Adds a new test for `WritePlacementDecisions` to verify the logic of writing placement decisions to the application status. This includes scenarios for adding new policies, updating existing ones, and handling malformed data.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(schema): add unit tests for schema parsing and conversion
This commit enhances the test coverage for the `pkg/schema` package by adding unit tests for CUE parsing and OpenAPI schema conversion.
- Adds a new test for `ParsePropertiesToSchema` to verify that CUE parameter definitions are correctly parsed into OpenAPI schemas.
- Introduces a new test for `ConvertOpenAPISchema2SwaggerObject` to ensure the conversion from a raw OpenAPI v3 schema to a Swagger object is handled correctly, including error cases.
These tests improve the reliability of the schema generation and conversion logic, which is critical for capability definitions.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
---------
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(env): Add comprehensive unit tests for environment management
This commit introduces a comprehensive suite of unit tests for the environment management functions in `pkg/utils/env`.
Key changes include:
- Refactoring the test setup to use `TestMain` for better test environment control.
- Adding new test cases for `CreateEnv`, `GetEnvByName`, `ListEnvs`, `SetCurrentEnv`, `SetEnvLabels`, and `DeleteEnv`.
These tests improve the overall test coverage and ensure the correctness and reliability of environment-related operations.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(errors): Add unit tests for error handling utilities
This commit introduces new unit tests for the error handling utilities located in `pkg/utils/errors/`.
Specifically, new test files have been added for:
- `crd_test.go`: Tests for CRD-related error checks.
- `list_test.go`: Tests for error list aggregation.
- `reason_test.go`: Tests for specific error reasons like label conflicts and CUE path not found.
- `resourcetracker_test.go`: Tests for resource tracker errors.
These additions improve the test coverage and ensure the robustness of KubeVela's error handling mechanisms.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* refactor(schema): Refactor ui_schema_test.go to use testify/assert and add new test cases
This commit refactors `pkg/utils/schema/ui_schema_test.go` to improve its readability and maintainability.
Key changes include:
- Migrating from Ginkgo/Gomega to testify/assert for assertions.
- Restructuring `TestGetDefaultUIType` into a table-driven test.
- Adding new comprehensive test cases for `Condition_Validate` function.
These changes enhance the test suite for UI schema utilities, making it more robust and easier to extend.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* refactor(system): Refactor system_test.go and add comprehensive unit tests
This commit refactors `pkg/utils/system/system_test.go` to improve its structure, readability, and test coverage.
Key changes include:
- Converting existing tests to a table-driven format using `testify/assert`.
- Adding new comprehensive test cases for:
- `CreateIfNotExist`
- `GetVelaHomeDir`
- `GetDirectoryFunctions` (e.g., `GetCapCenterDir`, `GetCapabilityDir`)
- `InitFunctions` (e.g., `InitCapabilityDir`, `InitCapCenterDir`, `InitDirs`)
- `BindEnvironmentVariables`
These changes enhance the test suite for system utilities, ensuring their correctness and robustness.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(types): Add unit tests for QL types
This commit introduces new unit tests for the types defined in `pkg/utils/types`, specifically focusing on types related to KubeVela Query Language (QL).
New test cases cover:
- `ServiceEndpoint.String()`: Verifies the string representation of service endpoints, including various protocols, ports, and paths.
- `AppliedResource.GroupVersionKind()`: Ensures correct extraction of GroupVersionKind from applied resources.
- `ResourceTreeNode.GroupVersionKind()`: Verifies correct extraction of GroupVersionKind from resource tree nodes.
These tests improve the coverage and reliability of core data structures used in KubeVela.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(util): Add and refactor unit tests for utility functions
This commit introduces new unit tests and refactors existing ones within the `pkg/utils/util` package.
Key changes include:
- **`pkg/utils/util/cmd_test.go`**: Adds comprehensive tests for `IOStreams` and its print functions, as well as `NewDefaultIOStreams` and `NewTestIOStreams`.
- **`pkg/utils/util/factory_test.go`**: Refactors the `GenerateLeaderElectionID` test to a table-driven format and adds new tests for `computeDiscoverCacheDir` and `RestConfigGetter` methods, ensuring the correctness of Kubernetes client configuration and discovery.
These additions and refactorings enhance the test coverage and reliability of core utility functions.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(utils): Add and refactor unit tests for json, jwt, parse, and strings utilities
This commit introduces new unit tests and refactors existing ones across several utility packages within `pkg/utils/`.
Key changes include:
- **`pkg/utils/json`**: Adds tests for `StrictUnmarshal` to ensure proper JSON unmarshaling.
- **`pkg/utils/jwt`**: Adds tests for JWT token subject extraction and certificate subject retrieval.
- **`pkg/utils/parse`**: Expands test coverage for URL parsing functions (`Parse`, `ParseGitlab`).
- **`pkg/utils/strings`**: Refactors existing tests to a table-driven format and adds tests for box drawing string generation.
These additions and refactorings significantly improve the test coverage and reliability of KubeVela's utility functions.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* fix(tests): Address test and error handling issues
This commit addresses several issues identified in unit tests and error handling utilities, improving test reliability and code safety.
Key fixes and improvements include:
- **`pkg/utils/errors`**:
- Added nil check to `IsCuePathNotFound` to prevent panics.
- Corrected `fmt.Errorf` usage to `errors.New` in `reason_test.go` (SA1006 fix).
- Used `assert.EqualError` for clearer error message comparisons in `resourcetracker_test.go`.
- **`pkg/utils/jwt_test.go`**: Marked `generateTestCert` as a test helper using `t.Helper()` for better error reporting.
- **`pkg/utils/system_test.go`**:
- Removed unused `verifyCleanup` field.
- Modified `TestGetVelaHomeDir` to use a temporary home directory, preventing destructive operations on the user's system.
- **`pkg/utils/util/cmd_test.go`**: Swapped `assert.Equal` arguments to follow `expected, actual` convention.
These changes enhance the robustness and correctness of the test suite and related utility functions.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* chore(tests): Apply gofmt and import ordering to test files
This commit applies standard Go formatting (`gofmt`) and corrects import ordering in several test files.
Affected files:
- `pkg/utils/schema/ui_schema_test.go`: Added missing newline at EOF.
- `pkg/utils/system/system_test.go`: Corrected import ordering.
- `pkg/utils/util/factory_test.go`: Corrected import ordering.
These changes ensure consistency with project coding standards.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
---------
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(config): add unit test for config pkg
- add unit test cases for writer.go file
- add unit test cases for factory.go file
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(auth): add unit tests for auth package
This commit introduces a comprehensive suite of unit tests for the `pkg/auth` package, significantly improving test coverage and ensuring the correctness of the authentication and authorization logic.
The following key areas are now covered:
- **Identity:** Tests for identity creation, validation, matching, and subject generation.
- **Kubeconfig:** Tests for kubeconfig generation options, certificate creation, and identity reading from kubeconfig.
- **Privileges:** Tests for privilege description implementations, listing privileges, and pretty-printing.
By adding these tests, we increase the robustness of the auth package and make future refactoring safer.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(oam): add unit tests for auxiliary functions
This commit adds comprehensive unit tests for the auxiliary functions in the pkg/oam package. The new tests cover the following functions:
- GetPublishVersion / SetPublishVersion
- GetDeployVersion
- GetLastAppliedTime
- GetControllerRequirement / SetControllerRequirement
- GetCluster / SetCluster / SetClusterIfEmpty
These tests address the lack of coverage for these functions and ensure their behavior is correct, including edge cases like handling missing annotations or removing annotations when set to an empty string.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* feat(cue): add unit tests for cue packages
This commit enhances the test coverage of the `pkg/cue` directory by adding unit tests for the `definition`, `script`, and `task` packages.
The new tests cover the following areas:
- `pkg/cue/definition`:
- `TestWorkloadGetTemplateContext`: Verifies the template context retrieval for workloads.
- `TestTraitGetTemplateContext`: Ensures correct template context retrieval for traits.
- `TestGetCommonLabels`: Checks the conversion of context labels to OAM labels.
- `TestGetBaseContextLabels`: Validates the creation of base context labels.
- `pkg/cue/script`:
- Adds tests for `ParseToValue`, `ParseToValueWithCueX`, `ParseToTemplateValue`, and `ParseToTemplateValueWithCueX` to ensure CUE scripts are parsed correctly.
- `pkg/cue/task`:
- Refactors the existing test for `Process` to use a table-driven approach, improving readability and covering more cases.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* fix(tests): address PR comments and improve test reliability
This commit addresses several comments from a pull request review, improving the reliability and correctness of tests in various packages.
The following changes are included:
- **`pkg/config/writer`**:
- Renamed `writter_test.go` to `writer_test.go` to fix a typo.
- **`pkg/cue/task`**:
- Replaced the use of an external invalid URL with a local unreachable endpoint (`http://127.0.0.1:3000`) in `process_test.go` to prevent network flakiness.
- Switched to using `assert.ErrorContains` for safer error message assertions, avoiding potential panics.
- Corrected an assertion to compare a byte slice with a string by converting the byte slice to a string first.
- **`pkg/oam`**:
- Updated `auxliary_test.go` to use `time.Time.Equal` for time comparisons, making the test robust against timezone differences.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
---------
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com>
* Feat: Support Native Cue in HealthPolicy and CustomStatus
Signed-off-by: Brian Kane <briankane1@gmail.com>
* Feat: Support Native Cue in HealthPolicy and CustomStatus - Fix PR Comments & Bugs
Signed-off-by: Brian Kane <briankane1@gmail.com>
---------
Signed-off-by: Brian Kane <briankane1@gmail.com>
* Fix: omit component revision in additionalLabel to add to k8s object when component revision is not set and DisableAllComponentRevision setted true
Signed-off-by: 那金洋(29362878) <najinyang001@ke.com>
* Fix: omit component revision in additionalLabel to add to k8s object when component revision is not set and DisableAllComponentRevision setted true test cases
Signed-off-by: 那金洋(29362878) <najinyang001@ke.com>
---------
Signed-off-by: 那金洋(29362878) <najinyang001@ke.com>
* fix: check component status after initial deployment
Signed-off-by: Brian Kane <briankane1@gmail.com>
* Fix: applications should correctly reflect component health throughout the apps lifecycle
Signed-off-by: Brian Kane <briankane1@gmail.com>
* Fix: check component status after initial deployment
Signed-off-by: Brian Kane <briankane1@gmail.com>
---------
Signed-off-by: Brian Kane <briankane1@gmail.com>
Co-authored-by: Mikhail Elenskii <elenskii-mikhail@outlook.com>
* Fix(Helm): make tolerations, nodeSelector, affinity more generic
Signed-off-by: Oleg Tsymbal <dzirg44@gmail.com>
* Fix(Helm): make conditionals if and with consistent
Signed-off-by: Oleg Tsymbal <dzirg44@gmail.com>
* Fix(Helm): trigger the build to see if it is a problem with timeout
Signed-off-by: Oleg Tsymbal <dzirg44@gmail.com>
---------
Signed-off-by: Oleg Tsymbal <dzirg44@gmail.com>
- Add SPDX SBOMs for Vela Core and CLI images
- Sign and attest images to GHCR and DockerHub
- Generate and attest SLSA provenance
- Include SBOMs for binaries via GoReleaser
- Sign artifact checksums for integrity
Signed-off-by: Ayush <ayushshyam.official.888@gmail.com>
* Fix(parser) - Valid value must be an empty string or consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
* Fix(e2e) - Increase waiting to prevent test start before port-forwared be finished
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
* Fix(e2e) - Adjust the time
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
* Fix(e2e) - Increase waiting to prevent test start before port-forwared be finished - By using gomega
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
* Fix(e2e) - Change vela command to get app status
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
---------
Signed-off-by: Jonatas Teixeira <jonatas.teixeira@hellofresh.com>
Previously, the deletion message for applications contained a typo where "application" was misspelled as "appplication". This commit corrects the spelling to "application" in the message:
- Before: "Start deleting appplication %s/%s\n"
- After: "Start deleting application %s/%s\n"
This change improves the clarity of the output message when deleting applications.
Signed-off-by: YoungLH <974840768@qq.com>
* Chore: Add Anoop and Daniel as codeowners
Signed-off-by: Anoop Gopalakrishnan <anoop2811@aol.in>
* Chore: Add Fog as a codeowner
Signed-off-by: Anoop Gopalakrishnan <anoop2811@aol.in>
* Chore: Removed @zzxwill due to non existent error
- Codeowners file was saying the the user handle did not have access to
the repo
Signed-off-by: Anoop Gopalakrishnan <anoop2811@aol.in>
---------
Signed-off-by: Anoop Gopalakrishnan <anoop2811@aol.in>
- Remove gomega from workflow e2e-test step
- Change the app phase to WorkFlowFailed when there is an error in workflow
- Change the app10.yaml file
Signed-off-by: Chaitanyareddy0702 <chaitanyareddy0702@gmail.com>
Author: VibhorChinda <vibhorchinda@gmail.com>
The original variable is "grtcpSocketpc", but this variable does not
exist in the file. According to the context, it should be "tcpSocket".
In addition, its type needs to be int to work properly.
Signed-off-by: zengziheng <zengziheng@datacloak.com>
Co-authored-by: zengziheng <zengziheng@datacloak.com>
# This file is a github code protect rule follow the codeowners https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners#example-of-a-codeowners-file
A comprehensive GitHub composite action for running KubeVela Kubernetes upgrade end-to-end (E2E) tests with complete environment setup, multiple test suites, and failure diagnostics.
> **Note**: This action requires the `GO_VERSION` environment variable to be set in your workflow.
A GitHub Actions composite action that sets up a complete testing environment for Kubevela projects with Go, Kubernetes tools, and the Ginkgo testing framework.
description:'Sets up a KinD (Kubernetes in Docker) cluster with configurable Kubernetes version and optional cluster naming for testing and development workflows.'
inputs:
k8s-version:
description:'Kubernetes version for the kind cluster'
// ComponentOutput contains K8s resource generated from "output" block of ComponentDefinition
ComponentOutput*unstructured.Unstructured
// ComponentOutputsAndTraits contains both resources generated from "outputs" block of ComponentDefinition and resources generated from TraitDefinition
| `featureGates.sharedDefinitionStorageForApplicationRevision` | use definition cache to reduce duplicated definition storage for application revision, must be used with InformerCacheFilterUnnecessaryFields | `true` |
| `featureGates.enableCueValidation` | enable the strict cue validation for cue required parameter fields | `false` |
| `featureGates.enableApplicationStatusMetrics` | enable application status metrics and structured logging | `false` |
| `featureGates.validateResourcesExist` | enable webhook validation to check if resource types referenced in definition templates exist in the cluster | `false` |
| `serviceAccount.create` | Specifies whether a service account should be created | `true` |
| `serviceAccount.annotations` | Annotations to add to the service account | `{}` |
| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `nil` |
| `nodeSelector` | Node selector | `{}` |
| `tolerations` | Tolerations | `[]` |
| `affinity` | Affinity | `{}` |
| `rbac.create` | Specifies whether a RBAC role should be created | `true` |
| `logDebug` | Enable debug logs for development purpose | `false` |
| `logFilePath`| If non-empty, write log files in this path | `""` |
| `logFileMaxSize`| Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. | `1024` |
| `kubeClient.qps` | The qps for reconcile clients | `400` |
| `kubeClient.burst` | The burst for reconcile clients | `600` |
| `authentication.enabled` | Enable authentication for application | `false` |
| `authentication.withUser` | Application authentication will impersonate as the request User | `true` |
| `authentication.defaultUser` | Application authentication will impersonate as the User if no user provided in Application | `kubevela:vela-core` |
| `authentication.groupPattern` | Application authentication will impersonate as the request Group that matches the pattern | `kubevela:*` |
| `sharding.enabled` | When sharding enabled, the controller will run as master mode. Refer to https://github.com/kubevela/kubevela/blob/master/design/vela-core/sharding.md for details. | `false` |
| `sharding.schedulableShards` | The shards available for scheduling. If empty, dynamic discovery will be used. | `""` |
| `serviceAccount.create` | Specifies whether a service account should be created | `true` |
| `serviceAccount.annotations` | Annotations to add to the service account | `{}` |
| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | `nil` |
| `nodeSelector` | Node selector | `{}` |
| `tolerations` | Tolerations | `[]` |
| `affinity`| Affinity | `{}` |
| `rbac.create` | Specifies whether a RBAC role should be created | `true` |
| `logDebug`| Enable debug logs for development purpose | `false` |
| `devLogs` | Enable formatted logging support for development purpose | `false` |
| `logFilePath` | If non-empty, write log files in this path | `""` |
| `logFileMaxSize` | Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. | `1024` |
| `kubeClient.qps`| The qps for reconcile clients | `400` |
| `kubeClient.burst` | The burst for reconcile clients | `600` |
| `authentication.withUser` | Application authentication will impersonate as the request User (must be true for security) | `true` |
| `authentication.defaultUser` | Application authentication will impersonate as the User if no user provided or withUser is false | `kubevela:vela-core` |
| `authentication.groupPattern` | Application authentication will impersonate as the request Group that matches the pattern | `kubevela:*` |
| `authorization.definitionValidationEnabled` | Enable definition permission validation for RBAC checks on definitions | `false` |
| `sharding.enabled` | When sharding enabled, the controller will run as master mode. Refer to https://github.com/kubevela/kubevela/blob/master/design/vela-core/sharding.md for details. | `false` |
| `sharding.schedulableShards` | The shards available for scheduling. If empty, dynamic discovery will be used. | `""` |
| `core.metrics.enabled` | Enable metrics for vela-core | `false` |
| `core.metrics.serviceMonitor.enabled` | Enable service monitor for metrics | `false` |
| `core.metrics.serviceMonitor.additionalLabels` | Additional labels for service monitor | `{}` |
## Uninstallation
@@ -186,6 +198,21 @@ if [ $fluxcd ]; then
fi
```
Make sure all existing KubeVela resources deleted before uninstallation:
description:Application is the Schema for the applications API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -104,10 +109,9 @@ spec:
scopes:
additionalProperties:
type:string
description:scopes in ApplicationComponent defines the component-level
scopes the format is <scope-type:scope-instance-name> pairs,
the key represents type of `ScopeDefinition` while the value
represent the name of scope instance.
description:|-
scopes in ApplicationComponent defines the component-level scopes
the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance.
type:object
x-kubernetes-preserve-unknown-fields:true
traits:
@@ -133,10 +137,10 @@ spec:
type:object
type:array
policies:
description:Policies defines the global policies for all components
in the app, e.g. security, metrics, gitops, multi-cluster placement
rules, etc. Policies are applied after components are rendered and
before workflow steps are executed.
description:|-
Policies defines the global policies for all components in the app, e.g. security, metrics, gitops,
multi-cluster placement rules, etc.
Policies are applied after components are rendered and before workflow steps are executed.
items:
description:AppPolicy defines a global policy for all components
in the app.
@@ -155,11 +159,12 @@ spec:
type:object
type:array
workflow:
description:'Workflow defines how to customize the control logic.
If workflow is specified, Vela won''t apply any resource, but provide
rendered output in AppRevision. Workflow steps are executed in array
order, and each step: - will have a context in annotation. - should
mark "finish" phase in status.conditions.'
description:|-
Workflow defines how to customize the control logic.
If workflow is specified, Vela won't apply any resource, but provide rendered output in AppRevision.
Workflow steps are executed in array order, and each step:
- will have a context in annotation.
- should mark "finish" phase in status.conditions.
properties:
mode:
description:WorkflowExecuteMode defines the mode of workflow
@@ -332,33 +337,39 @@ spec:
creator:
type:string
fieldPath:
description:'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
description:|-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
type:string
kind:
description: 'Kind of the referent. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
name:
description: 'Name of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description:|-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type:string
namespace:
description: 'Namespace of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
description:|-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type:string
resourceVersion:
description:'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
description:|-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description:|-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
type:string
type:object
x-kubernetes-map-type:atomic
@@ -367,63 +378,46 @@ spec:
description:Components record the related Components created by Application
Controller
items:
description:"ObjectReference contains enough information to let
you inspect or modify the referred object. --- New uses of this
type are discouraged because of difficulty describing its usage
when embedded in APIs. 1. Ignored fields. It includes many fields
which are not generally honored. For instance, ResourceVersion
and FieldPath are both very rarely valid in actual usage. 2. Invalid
usage help. It is impossible to add specific help for individual
usage. In most embedded usages, there are particular restrictions
like, \"must refer only to types A and B\" or \"UID not honored\"
or \"name must be restricted\". Those cannot be well described
when embedded. 3. Inconsistent validation. Because the usages
are different, the validation rules are different by usage, which
makes it hard for users to predict what will happen. 4. The fields
are both imprecise and overly precise. Kind is not a precise
mapping to a URL. This can produce ambiguity during interpretation
and require a REST mapping. In most cases, the dependency is
on the group,resource tuple and the version of the actual struct
is irrelevant. 5. We cannot easily change it. Because this type
is embedded in many locations, updates to this type will affect
numerous schemas. Don't make new APIs embed an underspecified
API type they do not control. \n Instead of using this type, create
a locally provided and used type that is well-focused on your
reference. For example, ServiceReferences for admission registration:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -76,14 +81,14 @@ spec:
type:object
x-kubernetes-preserve-unknown-fields:true
podSpecPath:
description:PodSpecPath indicates where/if this workload has K8s
podSpec field if one workload has podSpec, trait can do lot's of
assumption such as port, env, volume fields.
description:|-
PodSpecPath indicates where/if this workload has K8s podSpec field
if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields.
type:string
revisionLabel:
description:RevisionLabel indicates which label for underlying resources(e.g.
pods) of this workload can be used by trait to create resource selectors(e.g.
label selector for pods).
description:|-
RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload
can be used by trait to create resource selectors(e.g. label selector for pods).
type:string
schematic:
description:Schematic defines the data format and template of the
@@ -93,10 +98,9 @@ spec:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
description:|-
Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field.
Template is a required field if CUE is defined in Capability Definition.
type:string
required:
- template
@@ -159,11 +163,11 @@ spec:
- remote
type:string
writeConnectionSecretToRef:
description:WriteConnectionSecretToReference specifies the
namespace and name of a Secret to which any connection details
for this managed resource should be written. Connection
details frequently include the endpoint, username, and password
required to connect to the managed resource.
description:|-
WriteConnectionSecretToReference specifies the namespace and name of a
Secret to which any connection details for this managed resource should
be written. Connection details frequently include the endpoint, username,
and password required to connect to the managed resource.
properties:
name:
description:Name of the secret.
@@ -186,11 +190,17 @@ spec:
description:CustomStatus defines the custom status message that
could display to user
type:string
details:
description:Details stores a string representation of a CUE status
map to be evaluated at runtime for display
type:string
healthPolicy:
description:HealthPolicy defines the health check policy for
the abstraction
type:string
type:object
version:
type:string
workload:
description:Workload is a workload type descriptor
properties:
@@ -222,13 +232,15 @@ spec:
description:A Condition that may apply to a resource.
properties:
lastTransitionTime:
description:LastTransitionTime is the last time this condition
transitioned from one status to another.
description:|-
LastTransitionTime is the last time this condition transitioned from one
status to another.
format:date-time
type:string
message:
description:A Message containing details about this condition's
last transition from one status to another, if any.
description:|-
A Message containing details about this condition's last transition from
one status to another, if any.
type:string
reason:
description:A Reason for this condition's last transition from
@@ -239,8 +251,9 @@ spec:
False,or Unknown?
type:string
type:
description:Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
description:|-
Type of this condition. At most one of each condition type may apply to
description:DefinitionRevision is the Schema for the DefinitionRevision API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -53,16 +58,19 @@ spec:
ComponentDefinition
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this
representation of an object. Servers should convert recognized
schemas to the latest internal value, and may reject unrecognized
values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource
this object represents. Servers may infer this from the endpoint
the client submits requests to. Cannot be updated. In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
properties:
@@ -117,14 +125,14 @@ spec:
type:object
x-kubernetes-preserve-unknown-fields:true
podSpecPath:
description:PodSpecPath indicates where/if this workload
has K8s podSpec field if one workload has podSpec, trait
can do lot's of assumption such as port, env, volume fields.
description:|-
PodSpecPath indicates where/if this workload has K8s podSpec field
if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields.
type:string
revisionLabel:
description:RevisionLabel indicates which label for underlying
resources(e.g. pods) of this workload can be used by trait
to create resource selectors(e.g. label selector for pods).
description:|-
RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload
can be used by trait to create resource selectors(e.g. label selector for pods).
type:string
schematic:
description:Schematic defines the data format and template
@@ -134,10 +142,9 @@ spec:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template
data of the capability, it will replace the old
CUE template in extension field. Template is a required
field if CUE is defined in Capability Definition.
description:|-
Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field.
Template is a required field if CUE is defined in Capability Definition.
description:Policy is the Schema for the policy API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
description:PolicyDefinition is the Schema for the policydefinitions API
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -46,30 +51,30 @@ spec:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
description:|-
Version indicate which version should be used if CRD has multiple versions
by default it will use the first one if not specified
type:string
required:
- name
type:object
manageHealthCheck:
description:ManageHealthCheck means the policy will handle health
checking and skip application controller built-in health checking.
description:|-
ManageHealthCheck means the policy will handle health checking and skip application controller
built-in health checking.
type:boolean
schematic:
description:Schematic defines the data format and template of the
encapsulation of the policy definition. Only CUE schematic is supported
for now.
description:|-
Schematic defines the data format and template of the encapsulation of the policy definition.
Only CUE schematic is supported for now.
properties:
cue:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
description:|-
Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field.
Template is a required field if CUE is defined in Capability Definition.
type:string
required:
- template
@@ -132,11 +137,11 @@ spec:
- remote
type:string
writeConnectionSecretToRef:
description:WriteConnectionSecretToReference specifies the
namespace and name of a Secret to which any connection details
for this managed resource should be written. Connection
details frequently include the endpoint, username, and password
required to connect to the managed resource.
description:|-
WriteConnectionSecretToReference specifies the namespace and name of a
Secret to which any connection details for this managed resource should
be written. Connection details frequently include the endpoint, username,
and password required to connect to the managed resource.
properties:
name:
description:Name of the secret.
@@ -151,6 +156,8 @@ spec:
- configuration
type:object
type:object
version:
type:string
type:object
status:
description:PolicyDefinitionStatus is the status of PolicyDefinition
@@ -161,13 +168,15 @@ spec:
description:A Condition that may apply to a resource.
properties:
lastTransitionTime:
description:LastTransitionTime is the last time this condition
transitioned from one status to another.
description:|-
LastTransitionTime is the last time this condition transitioned from one
status to another.
format:date-time
type:string
message:
description:A Message containing details about this condition's
last transition from one status to another, if any.
description:|-
A Message containing details about this condition's last transition from
one status to another, if any.
type:string
reason:
description:A Reason for this condition's last transition from
@@ -178,8 +187,9 @@ spec:
False,or Unknown?
type:string
type:
description:Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
description:|-
Type of this condition. At most one of each condition type may apply to
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -83,33 +88,37 @@ spec:
description:Deleted marks the resource to be deleted
type:boolean
fieldPath:
description:'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
description:|-
If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would take on a value like:
"spec.containers{name}" (where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
type:string
kind:
description: 'Kind of the referent. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
name:
description: 'Name of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description:|-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type:string
namespace:
description: 'Namespace of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
description:|-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type:string
raw:
type:object
x-kubernetes-preserve-unknown-fields:true
resourceVersion:
description:'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
description:|-
Specific resourceVersion to which this reference is made, if any.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
type:string
skipGC:
description:SkipGC marks the resource to skip gc
@@ -117,7 +126,9 @@ spec:
trait:
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description:|-
UID of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
description:A TraitDefinition registers a kind of Kubernetes custom resource
as a valid OAM trait kind by referencing its CustomResourceDefinition. The
CRD is used to validate the schema of the trait when it is embedded in an
OAM ApplicationConfiguration.
description:|-
A TraitDefinition registers a kind of Kubernetes custom resource as a valid
OAM trait kind by referencing its CustomResourceDefinition. The CRD is used
to validate the schema of the trait when it is embedded in an OAM
ApplicationConfiguration.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -49,20 +55,25 @@ spec:
description:A TraitDefinitionSpec defines the desired state of a TraitDefinition.
properties:
appliesToWorkloads:
description:AppliesToWorkloads specifies the list of workload kinds
this trait applies to. Workload kinds are specified in resource.group/version
format, e.g. server.core.oam.dev/v1alpha2. Traits that omit this
field apply to all workload kinds.
description:|-
AppliesToWorkloads specifies the list of workload kinds this trait
applies to. Workload kinds are specified in resource.group/version format,
e.g. server.core.oam.dev/v1alpha2. Traits that omit this field apply to
all workload kinds.
items:
type:string
type:array
conflictsWith:
description:'ConflictsWith specifies the list of traits(CRD name,
Definition name, CRD group) which could not apply to the same workloads
with this trait. Traits that omit this field can work with any other
traits. Example rules: "service" # Trait definition name "services.k8s.io"
# API resource/crd name "*.networking.k8s.io" # API group "labelSelector:foo=bar"
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description:|-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description:|-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type:string
metadata:
type:object
@@ -47,26 +52,25 @@ spec:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
description:|-
Version indicate which version should be used if CRD has multiple versions
by default it will use the first one if not specified
type:string
required:
- name
type:object
schematic:
description:Schematic defines the data format and template of the
encapsulation of the workflow step definition. Only CUE schematic
is supported for now.
description:|-
Schematic defines the data format and template of the encapsulation of the workflow step definition.
Only CUE schematic is supported for now.
properties:
cue:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
description:|-
Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field.
Template is a required field if CUE is defined in Capability Definition.
type:string
required:
- template
@@ -129,11 +133,11 @@ spec:
- remote
type:string
writeConnectionSecretToRef:
description:WriteConnectionSecretToReference specifies the
namespace and name of a Secret to which any connection details
for this managed resource should be written. Connection
details frequently include the endpoint, username, and password
required to connect to the managed resource.
description:|-
WriteConnectionSecretToReference specifies the namespace and name of a
Secret to which any connection details for this managed resource should
be written. Connection details frequently include the endpoint, username,
and password required to connect to the managed resource.
properties:
name:
description:Name of the secret.
@@ -148,6 +152,8 @@ spec:
- configuration
type:object
type:object
version:
type:string
type:object
status:
description:WorkflowStepDefinitionStatus is the status of WorkflowStepDefinition
@@ -158,13 +164,15 @@ spec:
description:A Condition that may apply to a resource.
properties:
lastTransitionTime:
description:LastTransitionTime is the last time this condition
transitioned from one status to another.
description:|-
LastTransitionTime is the last time this condition transitioned from one
status to another.
format:date-time
type:string
message:
description:A Message containing details about this condition's
last transition from one status to another, if any.
description:|-
A Message containing details about this condition's last transition from
one status to another, if any.
type:string
reason:
description:A Reason for this condition's last transition from
@@ -175,8 +183,9 @@ spec:
False,or Unknown?
type:string
type:
description:Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
description:|-
Type of this condition. At most one of each condition type may apply to
description:Package is an extension for cuex engine
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:PackageSpec the spec for Package
properties:
path:
type:string
provider:
description:Provider the external Provider in Package for cuex to
run functions
properties:
endpoint:
type:string
protocol:
description:ProviderProtocol the protocol type for external Provider
if context.output.spec != _|_ if context.output.spec.jobTemplate != _|_ if context.output.spec.jobTemplate.spec != _|_ if context.output.spec.jobTemplate.spec.template != _|_ {
_matchContainers_: [for _container_ in _baseContainers if _container_.name == name {_container_}]
_matchContainers_: [for _container_ in _baseContainers if _container_.name == name {_container_}]
_baseContainer: *_|_ | {...}
if len(_matchContainers_) == 0 {
err: "container \(name) not found"
@@ -73,7 +73,7 @@ spec:
}
// +patchStrategy=replace
args: [for a in _args if _delArgs[a] == _|_ {a}] + [for a in _addArgs if _delArgs[a] == _|_ && _argsMap[a] == _|_ {a}]
args: [for a in _args if _delArgs[a] == _|_ {a}] + [for a in _addArgs if _delArgs[a] == _|_ && _argsMap[a] == _|_ {a}]
}
}
// +patchStrategy=open
@@ -97,7 +97,7 @@ spec:
}
if parameter.containers != _|_ {
// +patchKey=name
containers: [for c in parameter.containers {
containers: [for c in parameter.containers {
if c.containerName == "" {
err: "container name must be set for containers"
}
@@ -113,5 +113,5 @@ spec:
containers: [...#PatchParams]
})
errs: [for c in patch.spec.template.spec.containers if c.err != _|_ {c.err}]
errs: [for c in patch.spec.template.spec.containers if c.err != _|_ {c.err}]
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.