# Copyright 2021-2024 the Kubeapps contributors. # SPDX-License-Identifier: Apache-2.0 --- openapi: 3.0.3 servers: - url: "{schema}://{url}:{port}" description: Development URL variables: schema: enum: - http - https default: http description: URL schema url: default: "127.0.0.1" description: Kubeapps URL port: default: "8080" description: Kubeapps port info: description: > [![Main Pipeline](https://github.com/vmware-tanzu/kubeapps/actions/workflows/kubeapps-main.yaml/badge.svg)](https://github.com/vmware-tanzu/kubeapps/actions/workflows/kubeapps-main.yaml) [Kubeapps](https://github.com/vmware-tanzu/kubeapps) is a web-based UI for deploying and managing applications in Kubernetes clusters. Note: this API documentation is still in an initial stage and is subject to change. Before coupling to it, please [drop us an issue](https://github.com/vmware-tanzu/kubeapps/issues/new/choose) or reach us [via Slack](https://kubernetes.slack.com/messages/kubeapps) to know more about your use case and see how we can assist you. #### Developer Documentation - The [Kubeapps Architecture Overview](https://kubeapps.dev/docs/latest/background/architecture/). - The [Kubeapps Developer Documentation](https://kubeapps.dev/docs/latest/reference/developer/) for instructions on setting up the developer environment for developing on Kubeapps and its components. - The [Kubeapps Build Guide](https://kubeapps.dev/docs/latest/reference/developer/build/) for instructions on setting up the build environment and building Kubeapps from source. version: 0.1.0 title: Kubeapps API termsOfService: "https://github.com/vmware-tanzu/kubeapps/blob/main/LICENSE" license: name: Apache-2.0 url: "http://www.apache.org/licenses/LICENSE-2.0.html" tags: - name: PluginsService - name: PackagesService - name: RepositoriesService - name: FluxV2PackagesService - name: FluxV2RepositoriesService - name: HelmPackagesService - name: HelmRepositoriesService - name: KappControllerPackagesService - name: KappControllerRepositoriesService - name: ResourcesService externalDocs: description: Kubeapps GitHub repository url: "https://github.com/vmware-tanzu/kubeapps" security: - bearerAuth: [] paths: /apis/core/packages/v1alpha1/availablepackages: get: operationId: PackagesService_GetAvailablePackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: filterOptions.query description: |- Text query Text query for the request in: query required: false schema: type: string - name: filterOptions.categories description: |- Categories Collection of categories for the request in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.repositories description: |- Repositories Collection of repositories where the packages belong to in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.pkgVersion description: |- Package version Package version for the request in: query required: false schema: type: string - name: filterOptions.appVersion description: |- App version Packaged app version for the request in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - PackagesService "/apis/core/packages/v1alpha1/availablepackages/plugin/{availablePackageRef.plugin.name}/{availablePackageRef.plugin.version}/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}": get: operationId: PackagesService_GetAvailablePackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: pkgVersion description: >- Optional specific version (or version reference) to request. By default the latest version (or latest version matching the reference) will be returned. in: query required: false schema: type: string tags: - PackagesService "/apis/core/packages/v1alpha1/availablepackages/plugin/{availablePackageRef.plugin.name}/{availablePackageRef.plugin.version}/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}/versions": get: operationId: PackagesService_GetAvailablePackageVersions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageVersionsResp\ onse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: pkgVersion description: >- Optional version reference for which full version history is required. By default a summary of versions is returned as outlined in the response. Plugins can choose not to implement this and provide the summary only, it is provided for completeness only. in: query required: false schema: type: string tags: - PackagesService /apis/core/packages/v1alpha1/installedpackages: get: operationId: PackagesService_GetInstalledPackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - PackagesService post: operationId: PackagesService_CreateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1CreateInstalledPackageRequest" tags: - PackagesService "/apis/core/packages/v1alpha1/installedpackages/plugin/{installedPackageRef.plugin.name}/{installedPackageRef.plugin.version}/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}": get: operationId: PackagesService_GetInstalledPackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string tags: - PackagesService delete: operationId: PackagesService_DeleteInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeleteInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string tags: - PackagesService put: operationId: PackagesService_UpdateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: installedPackageRef: type: object properties: context: type: object description: The context (cluster/namespace) for the package. title: Installed package context plugin: type: object example: name: kapp_controller.packages version: v1alpha1 description: >- The plugin used to identify and interact with the installed package. This field can be omitted when the request is in the context of a specific plugin. title: >- The plugin used to identify and interact with the installed package. This field can be omitted when the request is in the context of a specific plugin. title: >- A reference uniquely identifying the installed package being updated. Required pkgVersionReference: $ref: "#/components/schemas/v1alpha1VersionReference" values: type: string description: >- An optional serialized values string to be included when templating a package in the format expected by the plugin. Included when the backend format doesn't use secrets or configmaps for values or supports both. These values are layered on top of any values refs above, when relevant. reconciliationOptions: $ref: "#/components/schemas/v1alpha1ReconciliationOptions" description: >- Request for UpdateInstalledPackage. The intent is to reach the desired state specified by the fields in the request, while leaving other fields intact. This is a whole object "Update" semantics rather than "Patch" semantics. The caller will provide the values for the fields below, which will replace, or be overlaid onto, the corresponding fields in the existing resource. For example, with the UpdateInstalledPackageRequest, it is not possible to change just the 'package version reference' without also specifying 'values' field. As a side effect, not specifying the 'values' field in the request means there are no values specified in the desired state. So the meaning of each field value is describing the desired state of the corresponding field in the resource after the update operation has completed the renconciliation. title: UpdateInstalledPackageRequest required: true tags: - PackagesService "/apis/core/packages/v1alpha1/installedpackages/plugin/{installedPackageRef.plugin.name}/{installedPackageRef.plugin.version}/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}/resourcerefs": get: operationId: PackagesService_GetInstalledPackageResourceRefs responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageResourceRefs\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string tags: - PackagesService /apis/core/packages/v1alpha1/repositories: get: operationId: RepositoriesService_GetPackageRepositorySummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositorySummariesRe\ sponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - RepositoriesService post: operationId: RepositoriesService_AddPackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1AddPackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1AddPackageRepositoryRequest" tags: - RepositoriesService "/apis/core/packages/v1alpha1/repositories/c/{context.cluster}/permissions": get: operationId: RepositoriesService_GetPackageRepositoryPermissions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryPermissions\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - RepositoriesService "/apis/core/packages/v1alpha1/repositories/plugin/{packageRepoRef.plugin.name}/{packageRepoRef.plugin.version}/c/{packageRepoRef.context.cluster}/ns/{packageRepoRef.context.namespace}/{packageRepoRef.identifier}": get: operationId: RepositoriesService_GetPackageRepositoryDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryDetailRespo\ nse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ tags: - RepositoriesService delete: operationId: RepositoriesService_DeletePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeletePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ tags: - RepositoriesService put: operationId: RepositoriesService_UpdatePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdatePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ requestBody: content: application/json: schema: type: object properties: packageRepoRef: type: object properties: context: type: object description: The context (cluster/namespace) for the repository. title: The context (cluster/namespace) for the repository. plugin: type: object example: name: kapp_controller.packages version: v1alpha1 description: >- The plugin used to interact with this available package. This field should be omitted when the request is in the context of a specific plugin. title: >- The plugin used to interact with this available package. This field should be omitted when the request is in the context of a specific plugin. title: >- A reference uniquely identifying the package repository being updated. The only required field url: type: string description: URL identifying the package repository location. description: type: string description: A user-provided description. interval: type: string title: >- The interval at which to check the upstream for updates (in time+unit) Some plugins may, additionally, support other formats, for instance, a cron expression. e.g., "*/10 * * * *" will be equivalent to "10m" Optional. Defaults to 10m if not specified tlsConfig: $ref: "#/components/schemas/v1alpha1PackageRepositoryTlsConfig" auth: $ref: "#/components/schemas/v1alpha1PackageRepositoryAuth" customDetail: $ref: "#/components/schemas/protobufAny" description: Request for UpdatePackageRepository title: UpdatePackageRepositoryRequest required: true tags: - RepositoriesService /apis/core/plugins/v1alpha1/configured-plugins: get: summary: GetConfiguredPlugins returns a map of short and longnames for the configured plugins. operationId: PluginsService_GetConfiguredPlugins responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetConfiguredPluginsResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" tags: - PluginsService /apis/plugins/fluxv2/packages/v1alpha1/availablepackages: get: summary: GetAvailablePackageSummaries returns the available packages managed by the 'fluxv2' plugin operationId: FluxV2PackagesService_GetAvailablePackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: filterOptions.query description: |- Text query Text query for the request in: query required: false schema: type: string - name: filterOptions.categories description: |- Categories Collection of categories for the request in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.repositories description: |- Repositories Collection of repositories where the packages belong to in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.pkgVersion description: |- Package version Package version for the request in: query required: false schema: type: string - name: filterOptions.appVersion description: |- App version Packaged app version for the request in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - FluxV2PackagesService "/apis/plugins/fluxv2/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}": get: summary: GetAvailablePackageDetail returns the package metadata managed by the 'fluxv2' plugin operationId: FluxV2PackagesService_GetAvailablePackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional specific version (or version reference) to request. By default the latest version (or latest version matching the reference) will be returned. in: query required: false schema: type: string tags: - FluxV2PackagesService "/apis/plugins/fluxv2/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}/versions": get: summary: GetAvailablePackageVersions returns the package versions managed by the 'fluxv2' plugin operationId: FluxV2PackagesService_GetAvailablePackageVersions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageVersionsResp\ onse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional version reference for which full version history is required. By default a summary of versions is returned as outlined in the response. Plugins can choose not to implement this and provide the summary only, it is provided for completeness only. in: query required: false schema: type: string tags: - FluxV2PackagesService /apis/plugins/fluxv2/packages/v1alpha1/installedpackages: get: summary: GetInstalledPackageSummaries returns the installed packages managed by the 'fluxv2' plugin operationId: FluxV2PackagesService_GetInstalledPackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - FluxV2PackagesService post: summary: CreateInstalledPackage creates an installed package based on the request. operationId: FluxV2PackagesService_CreateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1CreateInstalledPackageRequest" tags: - FluxV2PackagesService "/apis/plugins/fluxv2/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}": get: summary: GetInstalledPackageDetail returns the requested installed package managed by the 'fluxv2' plugin operationId: FluxV2PackagesService_GetInstalledPackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - FluxV2PackagesService delete: summary: DeleteInstalledPackage deletes an installed package based on the request. operationId: FluxV2PackagesService_DeleteInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeleteInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - FluxV2PackagesService put: summary: UpdateInstalledPackage updates an installed package based on the request. operationId: FluxV2PackagesService_UpdateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string requestBody: $ref: "#/components/requestBodies/FluxV2PackagesService_UpdateInstalledPack\ ageBody" tags: - FluxV2PackagesService "/apis/plugins/fluxv2/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}/resourcerefs": get: summary: >- GetInstalledPackageResourceRefs returns the references for the Kubernetes resources created by an installed package. operationId: FluxV2PackagesService_GetInstalledPackageResourceRefs responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageResourceRefs\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - FluxV2PackagesService /apis/plugins/fluxv2/packages/v1alpha1/repositories: get: operationId: FluxV2RepositoriesService_GetPackageRepositorySummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositorySummariesRe\ sponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - FluxV2RepositoriesService post: summary: >- AddPackageRepository add an existing package repository to the set of ones already managed by the 'fluxv2' plugin operationId: FluxV2RepositoriesService_AddPackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1AddPackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1AddPackageRepositoryRequest" tags: - FluxV2RepositoriesService "/apis/plugins/fluxv2/packages/v1alpha1/repositories/c/{context.cluster}/permissions": get: operationId: FluxV2RepositoriesService_GetPackageRepositoryPermissions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryPermissions\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - FluxV2RepositoriesService "/apis/plugins/fluxv2/packages/v1alpha1/repositories/c/{packageRepoRef.context.cluster}/ns/{packageRepoRef.context.namespace}/{packageRepoRef.identifier}": get: operationId: FluxV2RepositoriesService_GetPackageRepositoryDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryDetailRespo\ nse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - FluxV2RepositoriesService delete: operationId: FluxV2RepositoriesService_DeletePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeletePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - FluxV2RepositoriesService put: operationId: FluxV2RepositoriesService_UpdatePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdatePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ requestBody: $ref: "#/components/requestBodies/FluxV2RepositoriesService_UpdatePackageRe\ positoryBody" tags: - FluxV2RepositoriesService /apis/plugins/helm/packages/v1alpha1/availablepackages: get: summary: GetAvailablePackageSummaries returns the available packages managed by the 'helm' plugin operationId: HelmPackagesService_GetAvailablePackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: filterOptions.query description: |- Text query Text query for the request in: query required: false schema: type: string - name: filterOptions.categories description: |- Categories Collection of categories for the request in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.repositories description: |- Repositories Collection of repositories where the packages belong to in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.pkgVersion description: |- Package version Package version for the request in: query required: false schema: type: string - name: filterOptions.appVersion description: |- App version Packaged app version for the request in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - HelmPackagesService "/apis/plugins/helm/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}": get: summary: GetAvailablePackageDetail returns the package details managed by the 'helm' plugin operationId: HelmPackagesService_GetAvailablePackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional specific version (or version reference) to request. By default the latest version (or latest version matching the reference) will be returned. in: query required: false schema: type: string tags: - HelmPackagesService "/apis/plugins/helm/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}/versions": get: summary: GetAvailablePackageVersions returns the package versions managed by the 'helm' plugin operationId: HelmPackagesService_GetAvailablePackageVersions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageVersionsResp\ onse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional version reference for which full version history is required. By default a summary of versions is returned as outlined in the response. Plugins can choose not to implement this and provide the summary only, it is provided for completeness only. in: query required: false schema: type: string tags: - HelmPackagesService /apis/plugins/helm/packages/v1alpha1/installedpackages: get: summary: GetInstalledPackageSummaries returns the installed packages managed by the 'helm' plugin operationId: HelmPackagesService_GetInstalledPackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - HelmPackagesService post: summary: CreateInstalledPackage creates an installed package based on the request. operationId: HelmPackagesService_CreateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1CreateInstalledPackageRequest" tags: - HelmPackagesService "/apis/plugins/helm/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}": get: summary: GetInstalledPackageDetail returns the requested installed package managed by the 'helm' plugin operationId: HelmPackagesService_GetInstalledPackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - HelmPackagesService delete: summary: DeleteInstalledPackage deletes an installed package based on the request. operationId: HelmPackagesService_DeleteInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeleteInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - HelmPackagesService put: summary: UpdateInstalledPackage updates an installed package based on the request. operationId: HelmPackagesService_UpdateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string requestBody: $ref: "#/components/requestBodies/FluxV2PackagesService_UpdateInstalledPack\ ageBody" tags: - HelmPackagesService "/apis/plugins/helm/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}/resourcerefs": get: summary: >- GetInstalledPackageResourceRefs returns the references for the Kubernetes resources created by an installed package. operationId: HelmPackagesService_GetInstalledPackageResourceRefs responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageResourceRefs\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - HelmPackagesService "/apis/plugins/helm/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}/rollback": put: summary: RollbackInstalledPackage updates an installed package based on the request. operationId: HelmPackagesService_RollbackInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1RollbackInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: installedPackageRef: type: object properties: context: type: object description: The context (cluster/namespace) for the package. title: Installed package context plugin: $ref: "#/components/schemas/v1alpha1Plugin" description: A reference uniquely identifying the installed package. title: Installed package reference releaseRevision: type: integer format: int32 description: A number identifying the Helm revision to which to rollback. title: ReleaseRevision required: true tags: - HelmPackagesService /apis/plugins/helm/packages/v1alpha1/repositories: get: operationId: HelmRepositoriesService_GetPackageRepositorySummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositorySummariesRe\ sponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - HelmRepositoriesService post: summary: AddPackageRepository add an existing package repository to the set of ones already managed by the Helm plugin operationId: HelmRepositoriesService_AddPackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1AddPackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1AddPackageRepositoryRequest" tags: - HelmRepositoriesService "/apis/plugins/helm/packages/v1alpha1/repositories/c/{context.cluster}/permissions": get: operationId: HelmRepositoriesService_GetPackageRepositoryPermissions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryPermissions\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - HelmRepositoriesService "/apis/plugins/helm/packages/v1alpha1/repositories/c/{packageRepoRef.context.cluster}/ns/{packageRepoRef.context.namespace}/{packageRepoRef.identifier}": get: operationId: HelmRepositoriesService_GetPackageRepositoryDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryDetailRespo\ nse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - HelmRepositoriesService delete: operationId: HelmRepositoriesService_DeletePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeletePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - HelmRepositoriesService put: operationId: HelmRepositoriesService_UpdatePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdatePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ requestBody: $ref: "#/components/requestBodies/FluxV2RepositoriesService_UpdatePackageRe\ positoryBody" tags: - HelmRepositoriesService /apis/plugins/kapp_controller/packages/v1alpha1/availablepackages: get: summary: GetAvailablePackageSummaries returns the available packages managed by the 'kapp_controller' plugin operationId: KappControllerPackagesService_GetAvailablePackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: filterOptions.query description: |- Text query Text query for the request in: query required: false schema: type: string - name: filterOptions.categories description: |- Categories Collection of categories for the request in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.repositories description: |- Repositories Collection of repositories where the packages belong to in: query required: false explode: true schema: type: array items: type: string - name: filterOptions.pkgVersion description: |- Package version Package version for the request in: query required: false schema: type: string - name: filterOptions.appVersion description: |- App version Packaged app version for the request in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - KappControllerPackagesService "/apis/plugins/kapp_controller/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}": get: summary: GetAvailablePackageDetail returns the package details managed by the 'kapp_controller' plugin operationId: KappControllerPackagesService_GetAvailablePackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional specific version (or version reference) to request. By default the latest version (or latest version matching the reference) will be returned. in: query required: false schema: type: string tags: - KappControllerPackagesService "/apis/plugins/kapp_controller/packages/v1alpha1/availablepackages/c/{availablePackageRef.context.cluster}/ns/{availablePackageRef.context.namespace}/{availablePackageRef.identifier}/versions": get: summary: GetAvailablePackageVersions returns the package versions managed by the 'kapp_controller' plugin operationId: KappControllerPackagesService_GetAvailablePackageVersions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetAvailablePackageVersionsResp\ onse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: availablePackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: availablePackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: availablePackageRef.identifier description: >- Available package identifier The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). in: path required: true schema: type: string pattern: .+ - name: availablePackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: availablePackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string - name: pkgVersion description: >- Optional version reference for which full version history is required. By default a summary of versions is returned as outlined in the response. Plugins can choose not to implement this and provide the summary only, it is provided for completeness only. in: query required: false schema: type: string tags: - KappControllerPackagesService /apis/plugins/kapp_controller/packages/v1alpha1/installedpackages: get: summary: GetInstalledPackageSummaries returns the installed packages managed by the 'kapp_controller' plugin operationId: KappControllerPackagesService_GetInstalledPackageSummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageSummariesRes\ ponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: paginationOptions.pageToken description: >- Page token The client uses this field to request a specific page of the list results. in: query required: false schema: type: string - name: paginationOptions.pageSize description: >- Page size Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. in: query required: false schema: type: integer format: int32 tags: - KappControllerPackagesService post: summary: CreateInstalledPackage creates an installed package based on the request. operationId: KappControllerPackagesService_CreateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1CreateInstalledPackageRequest" tags: - KappControllerPackagesService "/apis/plugins/kapp_controller/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}": get: summary: GetInstalledPackageDetail returns the requested installed package managed by the 'kapp_controller' plugin operationId: KappControllerPackagesService_GetInstalledPackageDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageDetailRespon\ se" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - KappControllerPackagesService delete: summary: DeleteInstalledPackage deletes an installed package based on the request. operationId: KappControllerPackagesService_DeleteInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeleteInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - KappControllerPackagesService put: summary: UpdateInstalledPackage updates an installed package based on the request. operationId: KappControllerPackagesService_UpdateInstalledPackage responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdateInstalledPackageResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string requestBody: $ref: "#/components/requestBodies/FluxV2PackagesService_UpdateInstalledPack\ ageBody" tags: - KappControllerPackagesService "/apis/plugins/kapp_controller/packages/v1alpha1/installedpackages/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}/resourcerefs": get: summary: >- GetInstalledPackageResourceRefs returns the references for the Kubernetes resources created by an installed package. operationId: KappControllerPackagesService_GetInstalledPackageResourceRefs responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetInstalledPackageResourceRefs\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - KappControllerPackagesService /apis/plugins/kapp_controller/packages/v1alpha1/repositories: get: operationId: KappControllerRepositoriesService_GetPackageRepositorySummaries responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositorySummariesRe\ sponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: query required: false schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - KappControllerRepositoriesService post: summary: AddPackageRepository add an existing package repository to the set of ones already managed by the 'kapp_controller' plugin operationId: KappControllerRepositoriesService_AddPackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1AddPackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" requestBody: $ref: "#/components/requestBodies/v1alpha1AddPackageRepositoryRequest" tags: - KappControllerRepositoriesService "/apis/plugins/kapp_controller/packages/v1alpha1/repositories/c/{context.cluster}/permissions": get: operationId: KappControllerRepositoriesService_GetPackageRepositoryPermissions responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryPermissions\ Response" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - KappControllerRepositoriesService "/apis/plugins/kapp_controller/packages/v1alpha1/repositories/c/{packageRepoRef.context.cluster}/ns/{packageRepoRef.context.namespace}/{packageRepoRef.identifier}": get: operationId: KappControllerRepositoriesService_GetPackageRepositoryDetail responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetPackageRepositoryDetailRespo\ nse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - KappControllerRepositoriesService delete: operationId: KappControllerRepositoriesService_DeletePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1DeletePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ - name: packageRepoRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: query required: false schema: type: string - name: packageRepoRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: query required: false schema: type: string tags: - KappControllerRepositoriesService put: operationId: KappControllerRepositoriesService_UpdatePackageRepository responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1UpdatePackageRepositoryResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: packageRepoRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: packageRepoRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: packageRepoRef.identifier description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). in: path required: true schema: type: string pattern: .+ requestBody: $ref: "#/components/requestBodies/FluxV2RepositoriesService_UpdatePackageRe\ positoryBody" tags: - KappControllerRepositoriesService "/apis/plugins/resources/v1alpha1/c/{cluster}/namespacenames": get: operationId: ResourcesService_GetNamespaceNames responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetNamespaceNamesResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: cluster description: >- Cluster The context for which the namespace names are being fetched. The service will attempt to list namespaces across the cluster, first with the users credential, then with a configured service account if available. in: path required: true schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/can-i": post: operationId: ResourcesService_CanI responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CanIResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string - name: group description: |- Group API Group of the Resource. "*" means all. +optional in: query required: false schema: type: string - name: resource description: |- Resource is one of the existing resource types. "*" means all. +optional in: query required: false schema: type: string - name: verb description: >- Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all. +optional in: query required: false schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/ns": post: operationId: ResourcesService_CreateNamespace responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateNamespaceResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: query required: false schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/ns/{context.namespace}": get: operationId: ResourcesService_CheckNamespaceExists responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CheckNamespaceExistsResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/ns/{context.namespace}/secretnames": get: operationId: ResourcesService_GetSecretNames responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetSecretNamesResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/ns/{context.namespace}/secrets": post: operationId: ResourcesService_CreateSecret responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateSecretResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: type description: >- Type The type of the secret. Valid values are defined by the Type enumeration. in: query required: false schema: type: string enum: - SECRET_TYPE_OPAQUE_UNSPECIFIED - SECRET_TYPE_SERVICE_ACCOUNT_TOKEN - SECRET_TYPE_DOCKER_CONFIG - SECRET_TYPE_DOCKER_CONFIG_JSON - SECRET_TYPE_BASIC_AUTH - SECRET_TYPE_SSH_AUTH - SECRET_TYPE_TLS - SECRET_TYPE_BOOTSTRAP_TOKEN default: SECRET_TYPE_OPAQUE_UNSPECIFIED - name: name description: |- Name The name of the secret. in: query required: false schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/c/{context.cluster}/ns/{context.namespace}/serviceaccountnames": get: operationId: ResourcesService_GetServiceAccountNames responses: "200": description: A successful response. content: application/json: schema: $ref: "#/components/schemas/v1alpha1GetServiceAccountNamesResponse" "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string tags: - ResourcesService "/apis/plugins/resources/v1alpha1/{installedPackageRef.plugin.name}/{installedPackageRef.plugin.version}/c/{installedPackageRef.context.cluster}/ns/{installedPackageRef.context.namespace}/{installedPackageRef.identifier}": get: operationId: ResourcesService_GetResources responses: "200": description: A successful response.(streaming responses) content: application/json: schema: type: object properties: result: $ref: "#/components/schemas/v1alpha1GetResourcesResponse" error: $ref: "#/components/schemas/rpcStatus" title: Stream result of v1alpha1GetResourcesResponse "401": description: Returned when the user does not have permission to access the resource. content: application/json: schema: {} default: description: An unexpected error response. content: application/json: schema: $ref: "#/components/schemas/rpcStatus" parameters: - name: installedPackageRef.plugin.name description: >- Plugin name The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. in: path required: true schema: type: string - name: installedPackageRef.plugin.version description: |- Plugin version The version of the plugin, such as v1alpha1 in: path required: true schema: type: string - name: installedPackageRef.context.cluster description: >- Cluster A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. in: path required: true schema: type: string - name: installedPackageRef.context.namespace description: >- Namespace A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. in: path required: true schema: type: string - name: installedPackageRef.identifier description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). in: path required: true schema: type: string - name: watch description: |- Watch When true, this will cause the stream to remain open with updated resources being sent as events are received from the Kubernetes API server. in: query required: false schema: type: boolean tags: - ResourcesService components: requestBodies: FluxV2RepositoriesService_UpdatePackageRepositoryBody: content: application/json: schema: type: object properties: packageRepoRef: type: object properties: context: type: object description: The context (cluster/namespace) for the repository. title: The context (cluster/namespace) for the repository. plugin: $ref: "#/components/schemas/v1alpha1Plugin" title: >- A reference uniquely identifying the package repository being updated. The only required field url: type: string description: URL identifying the package repository location. description: type: string description: A user-provided description. interval: type: string title: >- The interval at which to check the upstream for updates (in time+unit) Some plugins may, additionally, support other formats, for instance, a cron expression. e.g., "*/10 * * * *" will be equivalent to "10m" Optional. Defaults to 10m if not specified tlsConfig: $ref: "#/components/schemas/v1alpha1PackageRepositoryTlsConfig" auth: $ref: "#/components/schemas/v1alpha1PackageRepositoryAuth" customDetail: $ref: "#/components/schemas/protobufAny" description: Request for UpdatePackageRepository title: UpdatePackageRepositoryRequest required: true v1alpha1CreateInstalledPackageRequest: content: application/json: schema: $ref: "#/components/schemas/v1alpha1CreateInstalledPackageRequest" description: Request for CreateInstalledPackage required: true v1alpha1AddPackageRepositoryRequest: content: application/json: schema: $ref: "#/components/schemas/v1alpha1AddPackageRepositoryRequest" description: Request for AddPackageRepository required: true FluxV2PackagesService_UpdateInstalledPackageBody: content: application/json: schema: type: object properties: installedPackageRef: type: object properties: context: type: object description: The context (cluster/namespace) for the package. title: Installed package context plugin: $ref: "#/components/schemas/v1alpha1Plugin" title: >- A reference uniquely identifying the installed package being updated. Required pkgVersionReference: $ref: "#/components/schemas/v1alpha1VersionReference" values: type: string description: >- An optional serialized values string to be included when templating a package in the format expected by the plugin. Included when the backend format doesn't use secrets or configmaps for values or supports both. These values are layered on top of any values refs above, when relevant. reconciliationOptions: $ref: "#/components/schemas/v1alpha1ReconciliationOptions" description: >- Request for UpdateInstalledPackage. The intent is to reach the desired state specified by the fields in the request, while leaving other fields intact. This is a whole object "Update" semantics rather than "Patch" semantics. The caller will provide the values for the fields below, which will replace, or be overlaid onto, the corresponding fields in the existing resource. For example, with the UpdateInstalledPackageRequest, it is not possible to change just the 'package version reference' without also specifying 'values' field. As a side effect, not specifying the 'values' field in the request means there are no values specified in the desired state. So the meaning of each field value is describing the desired state of the corresponding field in the resource after the update operation has completed the renconciliation. title: UpdateInstalledPackageRequest required: true securitySchemes: ApiKeyAuth: type: apiKey name: Authorization in: header schemas: PackageRepositoryAuthPackageRepositoryAuthType: type: string enum: - PACKAGE_REPOSITORY_AUTH_TYPE_UNSPECIFIED - PACKAGE_REPOSITORY_AUTH_TYPE_BASIC_AUTH - PACKAGE_REPOSITORY_AUTH_TYPE_TLS - PACKAGE_REPOSITORY_AUTH_TYPE_BEARER - PACKAGE_REPOSITORY_AUTH_TYPE_AUTHORIZATION_HEADER - PACKAGE_REPOSITORY_AUTH_TYPE_DOCKER_CONFIG_JSON - PACKAGE_REPOSITORY_AUTH_TYPE_SSH - PACKAGE_REPOSITORY_AUTH_TYPE_OPAQUE default: PACKAGE_REPOSITORY_AUTH_TYPE_UNSPECIFIED title: >- - PACKAGE_REPOSITORY_AUTH_TYPE_BASIC_AUTH: uses UsernamePassword - PACKAGE_REPOSITORY_AUTH_TYPE_TLS: uses TlsCertKey - PACKAGE_REPOSITORY_AUTH_TYPE_BEARER: uses header - PACKAGE_REPOSITORY_AUTH_TYPE_AUTHORIZATION_HEADER: uses header - PACKAGE_REPOSITORY_AUTH_TYPE_DOCKER_CONFIG_JSON: uses DockerCredentials - PACKAGE_REPOSITORY_AUTH_TYPE_SSH: uses SshCredentials - PACKAGE_REPOSITORY_AUTH_TYPE_OPAQUE: uses OpaqueCredentials protobufAny: type: object properties: "@type": type: string description: >- A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. additionalProperties: {} description: >- `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } rpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: $ref: "#/components/schemas/protobufAny" v1alpha1AddPackageRepositoryRequest: type: object properties: context: $ref: "#/components/schemas/v1alpha1Context" name: type: string title: A user-provided name for the package repository (e.g. bitnami) description: type: string title: A user-provided description. Optional namespaceScoped: type: boolean title: |- Whether this repository is global or namespace-scoped. Optional. By default, the value is false, i.e. the repository is global type: type: string title: >- Package storage type In general, each plug-in will define an acceptable set of valid types - for direct helm plug-in valid values are: "helm" and "oci" - for flux plug-in valid values are: "helm" and "oci". In the future, we may add support for git and/or AWS s3-style buckets url: type: string title: |- A URL identifying the package repository location. Must contain at least a protocol and host interval: type: string title: >- The interval at which to check the upstream for updates (in time+unit) Some plugins may, additionally, support other formats, for instance, a cron expression. e.g., "*/10 * * * *" will be equivalent to "10m" Optional. Defaults to 10m if not specified tlsConfig: $ref: "#/components/schemas/v1alpha1PackageRepositoryTlsConfig" auth: $ref: "#/components/schemas/v1alpha1PackageRepositoryAuth" plugin: $ref: "#/components/schemas/v1alpha1Plugin" customDetail: $ref: "#/components/schemas/protobufAny" description: Request for AddPackageRepository title: AddPackageRepositoryRequest v1alpha1AddPackageRepositoryResponse: type: object properties: packageRepoRef: $ref: "#/components/schemas/v1alpha1PackageRepositoryReference" description: Response for AddPackageRepositoryRequest title: AddPackageRepositoryResponse v1alpha1AvailablePackageDetail: type: object properties: availablePackageRef: $ref: "#/components/schemas/v1alpha1AvailablePackageReference" name: type: string description: The name of the available package title: Available package name version: $ref: "#/components/schemas/v1alpha1PackageAppVersion" repoUrl: type: string title: the url of the package repository that contains this package homeUrl: type: string title: the url of the "home" for the package iconUrl: type: string description: A url for an icon. title: Available package icon URL displayName: type: string description: A name as displayed to users title: Available package display name shortDescription: type: string description: A short description of the app provided by the package title: Available package short description longDescription: type: string description: A longer description of the package, a few sentences. title: Available package long description readme: type: string description: A longer README with potentially pages of formatted Markdown. title: Available package readme defaultValues: type: string description: >- An example of default values used during package templating that can serve as documentation or a starting point for user customization. title: Available package default values additionalDefaultValues: type: object additionalProperties: type: string description: >- A package may contain additional default value files for specific scenarios, such as values_production.yaml or values_dev.yaml title: Available package additional default values valuesSchema: type: string sourceUrls: type: array items: type: string title: source urls for the package maintainers: type: array items: $ref: "#/components/schemas/v1alpha1Maintainer" description: List of Maintainer title: Available package maintainers categories: type: array items: type: string description: >- A user-facing list of category names useful for creating richer user interfaces. Plugins can choose not to implement this title: Available package categories customDetail: $ref: "#/components/schemas/protobufAny" description: |- An AvailablePackageDetail provides additional details required when inspecting an individual package. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: AvailablePackageDetail v1alpha1AvailablePackageReference: type: object properties: context: $ref: "#/components/schemas/v1alpha1Context" identifier: type: string description: >- The fully qualified identifier for the available package (ie. a unique name for the context). For some packaging systems (particularly those where an available package is backed by a CR) this will just be the name, but for others such as those where an available package is not backed by a CR (eg. standard helm) it may be necessary to include the repository in the name or even the repo namespace to ensure this is unique. For example two helm repositories can define an "apache" chart that is available globally, the names would need to encode that to be unique (ie. "repoA:apache" and "repoB:apache"). title: Available package identifier plugin: $ref: "#/components/schemas/v1alpha1Plugin" description: >- An AvailablePackageReference has the minimum information required to uniquely identify an available package. This is re-used on the summary and details of an available package. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: AvailablePackageReference v1alpha1AvailablePackageSummary: type: object properties: availablePackageRef: $ref: "#/components/schemas/v1alpha1AvailablePackageReference" name: type: string description: The name of the available package title: Available package name latestVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" iconUrl: type: string description: A url for an icon. title: Available package Icon URL displayName: type: string description: A name as displayed to users title: Available package display name shortDescription: type: string description: A short description of the app provided by the package title: Available package short description categories: type: array items: type: string description: >- A user-facing list of category names useful for creating richer user interfaces. Plugins can choose not to implement this title: Available package categories description: >- An AvailablePackageSummary provides a summary of a package available for installation useful when aggregating many available packages. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: AvailablePackageSummary v1alpha1CanIResponse: type: object properties: allowed: type: boolean description: True if operation is allowed title: allowed description: Response for CanI operation title: CanIResponse v1alpha1CheckNamespaceExistsResponse: type: object properties: exists: type: boolean description: Response for CheckNamespaceExists title: CheckNamespaceExistsResponse v1alpha1Context: type: object properties: cluster: type: string description: >- A cluster name can be provided to target a specific cluster if multiple clusters are configured, otherwise all clusters will be assumed. title: Cluster namespace: type: string description: >- A namespace must be provided if the context of the operation is for a resource or resources in a particular namespace. For requests to list items, not including a namespace here implies that the context for the request is everything the requesting user can read, though the result can be filtered by any filtering options of the request. Plugins may choose to return Unimplemented for some queries for which we do not yet have a need. title: Namespace description: |- A Context specifies the context of the message TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: Context v1alpha1CreateInstalledPackageRequest: type: object properties: availablePackageRef: $ref: "#/components/schemas/v1alpha1AvailablePackageReference" targetContext: $ref: "#/components/schemas/v1alpha1Context" name: type: string title: A user-provided name for the installed package (eg. project-x-db) pkgVersionReference: $ref: "#/components/schemas/v1alpha1VersionReference" values: type: string description: >- An optional serialized values string to be included when templating a package in the format expected by the plugin. Included when the backend format doesn't use secrets or configmaps for values or supports both. These values are layered on top of any values refs above, when relevant. reconciliationOptions: $ref: "#/components/schemas/v1alpha1ReconciliationOptions" description: Request for CreateInstalledPackage title: CreateInstalledPackageRequest v1alpha1CreateInstalledPackageResponse: type: object properties: installedPackageRef: $ref: "#/components/schemas/v1alpha1InstalledPackageReference" description: |- Response for CreateInstalledPackage TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"installed_package_ref": {}}' }; title: CreateInstalledPackageResponse v1alpha1CreateNamespaceResponse: type: object description: Response for CreateNamespace title: CreateNamespaceResponse v1alpha1CreateSecretResponse: type: object description: Response for CreateSecret title: CreateSecretResponse v1alpha1DeleteInstalledPackageResponse: type: object description: |- Response for DeleteInstalledPackage For future extensibility only. title: DeleteInstalledPackageResponse v1alpha1DeletePackageRepositoryResponse: type: object description: |- Response for DeletePackageRepository For future extensibility only. title: DeletePackageRepositoryResponse v1alpha1DockerCredentials: type: object properties: server: type: string title: server name username: type: string description: username. password: type: string title: password. In clear text email: type: string title: email address title: DockerCredentials v1alpha1FilterOptions: type: object properties: query: type: string description: Text query for the request title: Text query categories: type: array items: type: string description: Collection of categories for the request title: Categories repositories: type: array items: type: string description: Collection of repositories where the packages belong to title: Repositories pkgVersion: type: string description: Package version for the request title: Package version appVersion: type: string description: Packaged app version for the request title: App version description: |- FilterOptions available when requesting summaries TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: FilterOptions v1alpha1GetAvailablePackageDetailResponse: type: object properties: availablePackageDetail: $ref: "#/components/schemas/v1alpha1AvailablePackageDetail" description: |- Response for GetAvailablePackageDetail TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"available_package_detail": [{}]}' }; title: GetAvailablePackageDetailResponse v1alpha1GetAvailablePackageSummariesResponse: type: object properties: availablePackageSummaries: type: array items: $ref: "#/components/schemas/v1alpha1AvailablePackageSummary" description: List of AvailablePackageSummary title: Available packages summaries nextPageToken: type: string description: >- This field represents the pagination token to retrieve the next page of results. If the value is "", it means no further results for the request. title: Next page token categories: type: array items: type: string description: This optional field contains the distinct category names considering the FilterOptions. title: Categories description: |- Response for GetAvailablePackageSummaries TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"available_package_summaries": [{}]}' }; title: GetAvailablePackageSummariesResponse v1alpha1GetAvailablePackageVersionsResponse: type: object properties: packageAppVersions: type: array items: $ref: "#/components/schemas/v1alpha1PackageAppVersion" description: >- By default (when version_query is empty or ignored) the response should contain an ordered summary of versions including the most recent three patch versions of the most recent three minor versions of the most recent three major versions when available, something like: [ { pkg_version: "10.3.19", app_version: "2.16.8" }, { pkg_version: "10.3.18", app_version: "2.16.8" }, { pkg_version: "10.3.17", app_version: "2.16.7" }, { pkg_version: "10.2.6", app_version: "2.15.3" }, { pkg_version: "10.2.5", app_version: "2.15.2" }, { pkg_version: "10.2.4", app_version: "2.15.2" }, { pkg_version: "10.1.8", app_version: "2.13.5" }, { pkg_version: "10.1.7", app_version: "2.13.5" }, { pkg_version: "10.1.6", app_version: "2.13.5" }, { pkg_version: "9.5.4", app_version: "2.8.9" }, ... { pkg_version: "8.2.5", app_version: "1.19.5" }, ... ] If a version_query is present and the plugin chooses to support it, the full history of versions matching the version query should be returned. title: Package app versions description: |- Response for GetAvailablePackageVersions TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"package_app_versions": [{}]}' }; title: GetAvailablePackageVersionsResponse v1alpha1GetConfiguredPluginsResponse: type: object example: plugins: - name: kapp_controller.packages version: v1alpha1 properties: plugins: type: array items: $ref: "#/components/schemas/v1alpha1Plugin" description: List of Plugin title: Plugins description: Response for GetConfiguredPlugins title: GetConfiguredPluginsResponse v1alpha1GetInstalledPackageDetailResponse: type: object properties: installedPackageDetail: $ref: "#/components/schemas/v1alpha1InstalledPackageDetail" description: |- Response for GetInstalledPackageDetail TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"installed_package_detail": [{}]}' }; title: GetInstalledPackageDetailResponse v1alpha1GetInstalledPackageResourceRefsResponse: type: object properties: context: $ref: "#/components/schemas/v1alpha1Context" resourceRefs: type: array items: $ref: "#/components/schemas/v1alpha1ResourceRef" description: Response for GetInstalledPackageResourceRefs title: GetInstalledPackageResourceRefsResponse v1alpha1GetInstalledPackageSummariesResponse: type: object properties: installedPackageSummaries: type: array items: $ref: "#/components/schemas/v1alpha1InstalledPackageSummary" description: List of InstalledPackageSummary title: Installed packages summaries nextPageToken: type: string description: >- This field represents the pagination token to retrieve the next page of results. If the value is "", it means no further results for the request. title: Next page token description: Response for GetInstalledPackageSummaries title: GetInstalledPackageSummariesResponse v1alpha1GetNamespaceNamesResponse: type: object properties: namespaceNames: type: array items: type: string description: The list of Namespace names. title: NamespaceNames description: Response for GetNamespaceNames title: GetNamespaceNamesResponse v1alpha1GetPackageRepositoryDetailResponse: type: object properties: detail: $ref: "#/components/schemas/v1alpha1PackageRepositoryDetail" description: Response for GetPackageRepositoryDetail title: GetPackageRepositoryDetailResponse v1alpha1GetPackageRepositoryPermissionsResponse: type: object properties: permissions: type: array items: $ref: "#/components/schemas/v1alpha1PackageRepositoriesPermissions" v1alpha1GetPackageRepositorySummariesResponse: type: object properties: packageRepositorySummaries: type: array items: $ref: "#/components/schemas/v1alpha1PackageRepositorySummary" title: List of PackageRepositorySummary description: Response for GetPackageRepositorySummaries title: GetPackageRepositorySummariesResponse v1alpha1GetResourcesResponse: type: object properties: resourceRef: $ref: "#/components/schemas/v1alpha1ResourceRef" manifest: type: string description: >- The current manifest of the requested resource. Initially the JSON manifest will be returned a json-encoded string, enabling the existing Kubeapps UI to replace its current direct api-server getting and watching of resources, but we may in the future pull out further structured metadata into this message as needed. title: Manifest v1alpha1GetSecretNamesResponse: type: object properties: secretNames: type: object additionalProperties: $ref: "#/components/schemas/v1alpha1SecretType" description: The list of Service Account names. title: SecretNames description: Response for GetSecretNames title: GetSecretNamesResponse v1alpha1GetServiceAccountNamesResponse: type: object properties: serviceaccountNames: type: array items: type: string description: The list of Service Account names. title: ServiceAccountNames description: Response for GetServiceAccountNames title: GetServiceAccountNamesResponse v1alpha1InstalledPackageDetail: type: object properties: installedPackageRef: $ref: "#/components/schemas/v1alpha1InstalledPackageReference" pkgVersionReference: $ref: "#/components/schemas/v1alpha1VersionReference" name: type: string description: The name given to the installed package title: Installed package name currentVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" valuesApplied: type: string description: The values applied currently for the installed package. title: ValuesApplied reconciliationOptions: $ref: "#/components/schemas/v1alpha1ReconciliationOptions" status: $ref: "#/components/schemas/v1alpha1InstalledPackageStatus" postInstallationNotes: type: string description: Optional notes generated by package and intended for the user post installation. title: PostInstallationNotes availablePackageRef: $ref: "#/components/schemas/v1alpha1AvailablePackageReference" latestMatchingVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" latestVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" customDetail: $ref: "#/components/schemas/protobufAny" description: >- An InstalledPackageDetail includes details about the installed package that are typically useful when presenting a single installed package. title: InstalledPackageDetail v1alpha1InstalledPackageReference: type: object properties: context: $ref: "#/components/schemas/v1alpha1Context" identifier: type: string description: |- The fully qualified identifier for the installed package (ie. a unique name for the context). plugin: $ref: "#/components/schemas/v1alpha1Plugin" description: >- An InstalledPackageReference has the minimum information required to uniquely identify an installed package. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: InstalledPackageReference v1alpha1InstalledPackageStatus: type: object properties: ready: type: boolean description: An indication of whether the installation is ready or not title: Ready reason: $ref: "#/components/schemas/v1alpha1InstalledPackageStatusStatusReason" userReason: type: string description: Optional text to return for user context, which may be plugin specific. title: UserReason description: An InstalledPackageStatus reports on the current status of the installation. title: InstalledPackageStatus v1alpha1InstalledPackageStatusStatusReason: type: string enum: - STATUS_REASON_UNSPECIFIED - STATUS_REASON_INSTALLED - STATUS_REASON_UNINSTALLED - STATUS_REASON_FAILED - STATUS_REASON_PENDING default: STATUS_REASON_UNSPECIFIED description: |- Generic reasons why an installed package may be ready or not. These should make sense across different packaging plugins. title: StatusReason v1alpha1InstalledPackageSummary: type: object properties: installedPackageRef: $ref: "#/components/schemas/v1alpha1InstalledPackageReference" name: type: string description: A name given to the installation of the package (eg. "my-postgresql-for-testing"). title: Name pkgVersionReference: $ref: "#/components/schemas/v1alpha1VersionReference" currentVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" iconUrl: type: string description: A url for an icon. title: Installed package icon URL pkgDisplayName: type: string description: The package name as displayed to users (provided by the package, eg. "PostgreSQL") title: PackageDisplayName shortDescription: type: string description: A short description of the package (provided by the package) title: ShortDescription latestMatchingVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" latestVersion: $ref: "#/components/schemas/v1alpha1PackageAppVersion" status: $ref: "#/components/schemas/v1alpha1InstalledPackageStatus" description: |- An InstalledPackageSummary provides a summary of an installed package useful when aggregating many installed packages. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: InstalledPackageSummary v1alpha1Maintainer: type: object properties: name: type: string description: A maintainer name title: Maintainer name email: type: string description: A maintainer email title: Maintainer email description: |- Maintainers for the package. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: Maintainer v1alpha1OpaqueCredentials: type: object properties: data: type: object additionalProperties: type: string title: fields title: OpaqueCredentials v1alpha1PackageAppVersion: type: object properties: pkgVersion: type: string description: Version of the package itself title: Package version appVersion: type: string description: Version of the packaged application title: Application version description: PackageAppVersion conveys both the package version and the packaged app version. title: Package AppVersion v1alpha1PackageRepositoriesPermissions: type: object properties: plugin: $ref: "#/components/schemas/v1alpha1Plugin" global: type: object additionalProperties: type: boolean title: Permissions at the global namespace (if any) namespace: type: object additionalProperties: type: boolean title: Permissions for the namespace v1alpha1PackageRepositoryAuth: type: object properties: type: $ref: "#/components/schemas/PackageRepositoryAuthPackageRepositoryAuthType" usernamePassword: $ref: "#/components/schemas/v1alpha1UsernamePassword" tlsCertKey: $ref: "#/components/schemas/v1alpha1TlsCertKey" dockerCreds: $ref: "#/components/schemas/v1alpha1DockerCredentials" header: type: string title: |- for Bearer Auth token value for Custom Auth, complete value of "Authorization" header secretRef: $ref: "#/components/schemas/v1alpha1SecretKeyReference" sshCreds: $ref: "#/components/schemas/v1alpha1SshCredentials" opaqueCreds: $ref: "#/components/schemas/v1alpha1OpaqueCredentials" passCredentials: type: boolean title: >- pass_credentials allows the credentials from the SecretRef to be passed on to a host that does not match the host as defined in URL. This flag controls whether or not it is allowed to passing credentials with requests to other domains linked from the repository. This may be needed if the host of the advertised chart URLs in the index differs from the defined URL. Optional description: >- Authentication/authorization to provide client's identity when connecting to a package repository. There are 6 total distinct use cases we may support: 1) None (Public) 2) Basic Auth 3) Bearer Token 4) Custom Authorization Header 5) Docker Registry Credentials (for OCI only) 6) TLS certificate and key Note that (1)-(4) may be done over HTTP or HTTPs without any custom certificates or certificate authority (1) is handled by not not having PackageRepositoryAuth field on the parent object a given plug-in may or may not support a given authentication type. For example - direct-helm plug-in does not currently support (6), while flux does - flux plug-in does not support (3) or (4) while direct-helm does title: PackageRepositoryAuth v1alpha1PackageRepositoryDetail: type: object properties: packageRepoRef: $ref: "#/components/schemas/v1alpha1PackageRepositoryReference" name: type: string title: A user-provided name for the package repository (e.g. bitnami) description: type: string description: A user-provided description. namespaceScoped: type: boolean description: Whether this repository is global or namespace-scoped. type: type: string title: Package storage type url: type: string description: A URL identifying the package repository location. interval: type: string title: >- The interval at which to check the upstream for updates (in time+unit) Some plugins may, additionally, support other formats, for instance, a cron expression. e.g., "*/10 * * * *" will be equivalent to "10m" tlsConfig: $ref: "#/components/schemas/v1alpha1PackageRepositoryTlsConfig" auth: $ref: "#/components/schemas/v1alpha1PackageRepositoryAuth" customDetail: $ref: "#/components/schemas/protobufAny" status: $ref: "#/components/schemas/v1alpha1PackageRepositoryStatus" title: PackageRepositoryDetail v1alpha1PackageRepositoryReference: type: object properties: context: $ref: "#/components/schemas/v1alpha1Context" identifier: type: string description: |- The fully qualified identifier for the repository (i.e. a unique name for the context). plugin: $ref: "#/components/schemas/v1alpha1Plugin" description: |- A PackageRepositoryReference has the minimum information required to uniquely identify a package repository. title: PackageRepositoryReference v1alpha1PackageRepositoryStatus: type: object properties: ready: type: boolean description: An indication of whether the repository is ready or not title: Ready reason: $ref: "#/components/schemas/v1alpha1PackageRepositoryStatusStatusReason" userReason: type: string description: Optional text to return for user context, which may be plugin specific. title: UserReason description: A PackageRepositoryStatus reports on the current status of the repository. title: PackageRepositoryStatus v1alpha1PackageRepositoryStatusStatusReason: type: string enum: - STATUS_REASON_UNSPECIFIED - STATUS_REASON_SUCCESS - STATUS_REASON_FAILED - STATUS_REASON_PENDING default: STATUS_REASON_UNSPECIFIED description: |- Generic reasons why a package repository may be ready or not. These should make sense across different packaging plugins. title: StatusReason v1alpha1PackageRepositorySummary: type: object properties: packageRepoRef: $ref: "#/components/schemas/v1alpha1PackageRepositoryReference" name: type: string title: A user-provided name for the package repository (e.g. bitnami) description: type: string description: A user-provided description. namespaceScoped: type: boolean description: Whether this repository is global or namespace-scoped. type: type: string title: Package storage type url: type: string description: URL identifying the package repository location. status: $ref: "#/components/schemas/v1alpha1PackageRepositoryStatus" requiresAuth: type: boolean description: existence of any authentication parameters for connecting to a repository. title: PackageRepositorySummary v1alpha1PackageRepositoryTlsConfig: type: object properties: insecureSkipVerify: type: boolean title: |- whether or not to skip TLS verification note that fluxv2 does not currently support this and will raise an error should this flag be set to true certAuthority: type: string title: certificate authority. Optional secretRef: $ref: "#/components/schemas/v1alpha1SecretKeyReference" title: PackageRepositoryTlsConfig v1alpha1PaginationOptions: type: object properties: pageToken: type: string description: The client uses this field to request a specific page of the list results. title: Page token pageSize: type: integer format: int32 description: >- Clients use this field to specify the maximum number of results to be returned by the server. The server may further constrain the maximum number of results returned in a single page. If the page_size is 0, the server will decide the number of results to be returned. title: Page size description: >- The PaginationOptions based on the example proto at: https://cloud.google.com/apis/design/design_patterns#list_pagination just encapsulated in a message so it can be reused on different request messages. TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{}' }; title: PaginationOptions v1alpha1Plugin: type: object example: name: kapp_controller.packages version: v1alpha1 properties: name: type: string description: The name of the plugin, such as `fluxv2.packages` or `kapp_controller.packages`. title: Plugin name version: type: string description: The version of the plugin, such as v1alpha1 title: Plugin version description: A plugin can implement multiple services and multiple versions of a service. title: Plugin v1alpha1ReconciliationOptions: type: object properties: interval: type: string description: The interval with which the package is checked for reconciliation (in time+unit) title: Reconciliation Interval suspend: type: boolean description: |- Whether reconciliation should be suspended until otherwise enabled. This can be utilized to e.g. temporarily ignore chart changes, and prevent a Helm release from getting upgraded title: Suspend serviceAccountName: type: string description: >- A name for a service account in the same namespace which should be used to perform the reconciliation. title: ServiceAccountName description: >- ReconciliationOptions enable specifying standard fields for backends that continuously reconcile a package install as new matching versions are released. Most of the naming is from the flux HelmReleaseSpec though it maps directly to equivalent fields on Carvel's InstalledPackage. title: ReconciliationOptions v1alpha1ResourceRef: type: object properties: apiVersion: type: string description: >- The APIVersion directly from the resource has the group and version, eg. "apps/v1" or just the version for core resources. kind: type: string description: >- The Kind directly from the templated manifest. Together with the APIVersion this forms the GroupVersionKind. name: type: string description: The name of the specific resource in the context of the installed package. namespace: type: string description: >- The namespace of the specific resource in the context of the installed package. In most cases this will be identical to the namespace of the installed package. Exceptions will be non-namespaced resources and packages that install resources in other namespaces for special reasons. description: >- A reference to a Kubernetes resource related to a specific installed package. The context (cluster) for each resource is that of the related installed package. title: Resource reference v1alpha1RollbackInstalledPackageResponse: type: object properties: installedPackageRef: $ref: "#/components/schemas/v1alpha1InstalledPackageReference" description: Response for RollbackInstalledPackage title: RollbackInstalledPackageResponse v1alpha1SecretKeyReference: type: object properties: name: type: string title: >- The name of an existing secret in the same namespace as the object that refers to it (e.g. PackageRepository), containing authentication credentials for the said package repository. - For HTTP/S basic auth the secret must be of type "kubernetes.io/basic-auth" or opaque and contain username and password fields - For TLS the secret must be of type "kubernetes.io/tls" or opaque and contain a certFile and keyFile, and/or caCert fields. - For Bearer or Custom Auth, the secret must be opaque, and the key must be provided - For Docker Registry Credentials (OCI registries) the secret must of of type "kubernetes.io/dockerconfigjson" For more details, refer to https://kubernetes.io/docs/concepts/configuration/secret/ key: type: string title: Optional. Must be provided when name refers to an opaque secret title: SecretKeyReference v1alpha1SecretType: type: string enum: - SECRET_TYPE_OPAQUE_UNSPECIFIED - SECRET_TYPE_SERVICE_ACCOUNT_TOKEN - SECRET_TYPE_DOCKER_CONFIG - SECRET_TYPE_DOCKER_CONFIG_JSON - SECRET_TYPE_BASIC_AUTH - SECRET_TYPE_SSH_AUTH - SECRET_TYPE_TLS - SECRET_TYPE_BOOTSTRAP_TOKEN default: SECRET_TYPE_OPAQUE_UNSPECIFIED description: >- The type of secret. Currently Kubeapps itself only deals with OPAQUE and docker config json secrets, but we define all so we can correctly list the secret names with their types. See https://kubernetes.io/docs/concepts/configuration/secret/#secret-types title: SecretType v1alpha1SshCredentials: type: object properties: privateKey: type: string title: private key knownHosts: type: string description: known hosts. title: SshCredentials v1alpha1TlsCertKey: type: object properties: cert: type: string title: certificate (identity). In clear text key: type: string title: certificate key. In clear text title: TlsCertKey v1alpha1UpdateInstalledPackageResponse: type: object properties: installedPackageRef: $ref: "#/components/schemas/v1alpha1InstalledPackageReference" description: |- Response for UpdateInstalledPackage TODO: add example for API docs option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { example: '{"installed_package_ref": {}}' }; title: UpdateInstalledPackageResponse v1alpha1UpdatePackageRepositoryResponse: type: object properties: packageRepoRef: $ref: "#/components/schemas/v1alpha1PackageRepositoryReference" description: Response for UpdatePackageRepository title: UpdatePackageRepositoryResponse v1alpha1UsernamePassword: type: object properties: username: type: string title: In clear text password: type: string title: In clear text title: UsernamePassword v1alpha1VersionReference: type: object properties: version: type: string description: >- The format of the version constraint depends on the backend. For example, for a flux v2 and Carvel it's a semver expression, such as ">=10.3 < 10.4" title: Version description: >- A VersionReference defines a version or constraint limiting matching versions. The reason it is a separate message is so that in the future we can add other fields as necessary (such as something similar to Carvel's `prereleases` option to its versionSelection). title: VersionReference