From f65d1fe41c5100f243f0070c9f9d2546d8373093 Mon Sep 17 00:00:00 2001 From: Siddarth R Date: Mon, 22 Jun 2026 10:26:02 -0400 Subject: [PATCH] NO-ISSUE: Remove bundled API specs from tracking Assisted-by: Cursor/Claude --- .gitignore | 3 + Makefile | 2 +- README.md | 2 +- api/bundled/core-v1alpha1.yaml | 2720 -------- api/bundled/core-v1beta1.yaml | 8413 ----------------------- api/bundled/imagebuilder-v1alpha1.yaml | 2198 ------ flightctl/api_client.py | 2 +- flightctl/configuration.py | 2 +- flightctl/imagebuilder/__init__.py | 2 +- flightctl/imagebuilder/api_client.py | 2 +- flightctl/imagebuilder/configuration.py | 2 +- flightctl/imagebuilder_README.md | 2 +- flightctl/v1alpha1/__init__.py | 2 +- flightctl/v1alpha1/api_client.py | 2 +- flightctl/v1alpha1/configuration.py | 2 +- flightctl/v1alpha1_README.md | 2 +- pyproject.toml | 11 +- setup.py | 2 +- 18 files changed, 25 insertions(+), 13346 deletions(-) delete mode 100644 api/bundled/core-v1alpha1.yaml delete mode 100644 api/bundled/core-v1beta1.yaml delete mode 100644 api/bundled/imagebuilder-v1alpha1.yaml diff --git a/.gitignore b/.gitignore index 65b06b9..9e274a9 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,6 @@ target/ # Ipython Notebook .ipynb_checkpoints + +# Build artifacts +api/bundled/ diff --git a/Makefile b/Makefile index 84075f4..13b6269 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION = 1.2.0 +VERSION = 1.2.1 GENERATOR_VERSION = 7.17.0 COMMON_PROPS = packageName=flightctl,useOneOfDiscriminatorLookup=true,packageVersion=$(VERSION) GIT_USER = flightctl diff --git a/README.md b/README.md index bfeb0ab..771cc9a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: v1beta1 -- Package version: 1.2.0 +- Package version: 1.2.1 - Generator version: 7.17.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flightctl.io](https://flightctl.io) diff --git a/api/bundled/core-v1alpha1.yaml b/api/bundled/core-v1alpha1.yaml deleted file mode 100644 index 7279265..0000000 --- a/api/bundled/core-v1alpha1.yaml +++ /dev/null @@ -1,2720 +0,0 @@ -openapi: 3.0.1 -info: - title: Flight Control API - version: v1alpha1 - description: | - [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. - - This API version (v1alpha1) contains alpha-stage resources that are subject to change. - contact: - name: The Flight Control Team - url: https://flightctl.io - email: team@flightctl.io - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0.html -servers: - - url: /api/v1 -tags: - - name: catalog - description: Operations on Catalog resources. - - name: vulnerability - description: Operations for vulnerability reports and organization-wide summaries. -paths: - /catalogitems: - x-resource: catalogitems - get: - tags: - - catalog - description: List CatalogItems across all Catalogs. - operationId: listAllCatalogItems - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the parameter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItemList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /catalogs: - x-resource: catalogs - get: - tags: - - catalog - description: List Catalog resources. - operationId: listCatalogs - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - catalog - description: Create a Catalog resource. - operationId: createCatalog - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - links: - GetCatalog: - operationId: getCatalog - parameters: - name: $response.body#/metadata/name - DeleteCatalog: - operationId: deleteCatalog - parameters: - name: $response.body#/metadata/name - ListCatalogItems: - operationId: listCatalogItems - parameters: - catalog: $response.body#/metadata/name - CreateCatalogItem: - operationId: createCatalogItem - parameters: - catalog: $response.body#/metadata/name - ReplaceCatalog: - operationId: replaceCatalog - parameters: - name: $response.body#/metadata/name - GetCatalogStatus: - operationId: getCatalogStatus - parameters: - name: $response.body#/metadata/name - ReplaceCatalogStatus: - operationId: replaceCatalogStatus - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /catalogs/{name}: - x-resource: catalogs - get: - tags: - - catalog - description: Get a Catalog resource. - operationId: getCatalog - parameters: - - name: name - in: path - description: The name of the Catalog resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - catalog - description: Update a Catalog resource. - operationId: replaceCatalog - parameters: - - name: name - in: path - description: The name of the Catalog resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - catalog - description: Delete a Catalog resource. - operationId: deleteCatalog - parameters: - - name: name - in: path - description: The name of the Catalog resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - catalog - description: Patch a Catalog resource. - operationId: patchCatalog - parameters: - - name: name - in: path - description: The name of the Catalog resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /catalogs/{name}/status: - x-resource: catalogs - get: - tags: - - catalog - description: Get status of a Catalog resource. - operationId: getCatalogStatus - parameters: - - name: name - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - catalog - description: Update status of a Catalog resource. - operationId: replaceCatalogStatus - parameters: - - name: name - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - catalog - description: Patch status of a Catalog resource. - operationId: patchCatalogStatus - parameters: - - name: name - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Catalog' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /catalogs/{catalog}/items: - x-resource: catalogs/items - get: - tags: - - catalog - description: List CatalogItems from a Catalog. - operationId: listCatalogItems - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - - name: continue - in: query - description: An optional parameter to query more results from the server. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItemList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - catalog - description: Create a CatalogItem in a Catalog. - operationId: createCatalogItem - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - requestBody: - description: The CatalogItem resource to create. - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - links: - GetCatalogItem: - operationId: getCatalogItem - parameters: - catalog: $request.path.catalog - name: $response.body#/metadata/name - DeleteCatalogItem: - operationId: deleteCatalogItem - parameters: - catalog: $request.path.catalog - name: $response.body#/metadata/name - ReplaceCatalogItem: - operationId: replaceCatalogItem - parameters: - catalog: $request.path.catalog - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /catalogs/{catalog}/items/{name}: - x-resource: catalogs/items - get: - tags: - - catalog - description: Get a CatalogItem from a Catalog. - operationId: getCatalogItem - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - - name: name - in: path - description: The name of the CatalogItem resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - catalog - description: Replace a CatalogItem in a Catalog. - operationId: replaceCatalogItem - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - - name: name - in: path - description: The name of the CatalogItem resource. - required: true - schema: - type: string - requestBody: - description: The CatalogItem resource to replace. - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - catalog - description: Delete a CatalogItem from a Catalog. - operationId: deleteCatalogItem - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - - name: name - in: path - description: The name of the CatalogItem resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - catalog - description: Patch a CatalogItem in a Catalog. - operationId: patchCatalogItem - parameters: - - name: catalog - in: path - description: The name of the Catalog resource. - required: true - schema: - type: string - example: edge-apps - - name: name - in: path - description: The name of the CatalogItem resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CatalogItem' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/summary: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: Return organization-wide CVE counts by severity. - operationId: getVulnerabilitySummary - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/VulnerabilitySummaryResponse' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: List distinct vulnerabilities across the organization with affected device counts. - operationId: listVulnerabilities - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the parameter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: sortBy - in: query - description: Field to sort vulnerability list results by. - schema: - type: string - enum: - - severity - - cvssScore - - publishedAt - - cveId - default: severity - - name: order - in: query - description: Sort order for the results. - schema: - type: string - enum: - - asc - - desc - default: desc - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/VulnerabilityGroupList' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/devices/{name}: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: List vulnerabilities affecting a single device by device metadata name. - operationId: getDeviceVulnerabilities - parameters: - - name: name - in: path - description: The metadata.name of the Device resource. - required: true - schema: - type: string - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the parameter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: sortBy - in: query - description: Field to sort vulnerability list results by. - schema: - type: string - enum: - - severity - - cvssScore - - publishedAt - - cveId - default: severity - - name: order - in: query - description: Sort order for the results. - schema: - type: string - enum: - - asc - - desc - default: desc - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/VulnerabilityList' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/fleets/{name}: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: List vulnerabilities aggregated for a fleet by fleet metadata name. - operationId: getFleetVulnerabilities - parameters: - - name: name - in: path - description: The metadata.name of the Fleet resource. - required: true - schema: - type: string - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the parameter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: sortBy - in: query - description: Field to sort vulnerability list results by. - schema: - type: string - enum: - - severity - - cvssScore - - publishedAt - - cveId - default: severity - - name: order - in: query - description: Sort order for the results. - schema: - type: string - enum: - - asc - - desc - default: desc - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/VulnerabilityGroupList' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/devices/{name}/summary: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: Return the severity summary for a single device without fetching the full CVE list. - operationId: getDeviceVulnerabilitySummary - parameters: - - name: name - in: path - description: The metadata.name of the Device resource. - required: true - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceVulnerabilitySummaryResponse' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/fleets/{name}/summary: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: Return the severity summary for a single fleet without fetching the full CVE list. - operationId: getFleetVulnerabilitySummary - parameters: - - name: name - in: path - description: The metadata.name of the Fleet resource. - required: true - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/FleetVulnerabilitySummaryResponse' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /vulnerabilities/cves/{cveId}/impact: - x-resource: vulnerabilities - get: - tags: - - vulnerability - description: Return per-fleet and fleetless blast radius for a CVE identifier. - operationId: getVulnerabilityImpact - parameters: - - name: cveId - in: path - description: The CVE identifier (for example, CVE-2024-1234). Unknown identifiers still return 200 with an empty list of affected resources (blast radius) when no matching data is found. - required: true - schema: - type: string - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the parameter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: fieldSelector - in: query - description: Restricts blast-radius rows by device owner before aggregation. Supported key is `owner` (device owner string, for example `owner=Fleet/my-fleet`). Operators include `=`, `==`, `!=`, and set-style `in` / `notin` where applicable. - schema: - type: string - - name: sortBy - in: query - description: Field to sort blast radius rows by. - schema: - type: string - enum: - - affectedDevices - - fleetName - default: affectedDevices - - name: order - in: query - description: Sort order for the results. - schema: - type: string - enum: - - asc - - desc - default: desc - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK. - content: - application/json: - schema: - $ref: '#/components/schemas/VulnerabilityImpact' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '501': - description: Not Implemented (vulnerability feature is not enabled on this server). - content: - application/json: - schema: - $ref: '#/components/schemas/Status' -components: - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - orgId: - type: apiKey - in: query - name: org_id - description: The UUID of the organization that owns the resource. Maps to an organizations metadata.name. - schemas: - ApiVersion: - type: string - x-go-type: string - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.' - enum: - - v1alpha1 - - flightctl.io/v1alpha1 - x-enum-varnames: - - ApiVersionV1alpha1 - - ApiVersionFlightctlIoV1alpha1 - SemVer: - type: string - x-go-type: string - description: Semantic version identifier (e.g., 1.2.3, 2.0.0-rc1) - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - example: 1.2.3 - SemVerRange: - type: string - x-go-type: string - description: Semver range constraint (e.g., >=1.0.0 <2.0.0). Space-separated terms, each with optional operator (>=, <=, >, <, =, ~, ^) followed by a version. - pattern: ^[>=<~^]*[0-9]+\.[0-9]+(\.[0-9]+)?(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?( [>=<~^]*[0-9]+\.[0-9]+(\.[0-9]+)?(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?)*$ - example: '>=1.0.0 <2.0.0' - Catalog: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/CatalogSpec' - status: - $ref: '#/components/schemas/CatalogStatus' - required: - - apiVersion - - kind - - metadata - - spec - additionalProperties: false - example: - apiVersion: flightctl.io/v1alpha1 - kind: Catalog - metadata: - name: edge-apps - spec: - displayName: Edge Applications - CatalogSpec: - type: object - description: CatalogSpec describes the configuration of a catalog. Catalogs are containers for locally-managed CatalogItems. - properties: - displayName: - type: string - description: Human-readable display name shown in catalog listings. - shortDescription: - type: string - description: A brief one-line description of the catalog. - icon: - type: string - description: URL or data URI of the catalog icon for display in UI. - provider: - type: string - description: Provider or publisher of the catalog (company or team name). - support: - type: string - description: Link to support resources or documentation for getting help. - additionalProperties: false - CatalogStatus: - type: object - description: CatalogStatus represents the current status of a catalog source. - properties: - conditions: - type: array - description: Current state of the catalog source. - items: - $ref: '#/components/schemas/Condition' - required: - - conditions - additionalProperties: false - CatalogList: - type: object - description: CatalogList is a list of Catalogs. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of Catalogs. - items: - $ref: '#/components/schemas/Catalog' - required: - - apiVersion - - kind - - metadata - - items - additionalProperties: false - CatalogItemMeta: - type: object - description: Metadata for CatalogItem resources. Extends ObjectMeta with catalog scoping. - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - type: object - properties: - catalog: - type: string - description: The catalog this item belongs to. Similar to namespace in Kubernetes. - example: edge-apps - required: - - catalog - CatalogItem: - type: object - description: CatalogItem represents an application template from a catalog. It provides default configuration values that can be customized when adding the application to a fleet. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource this object represents. - metadata: - $ref: '#/components/schemas/CatalogItemMeta' - spec: - $ref: '#/components/schemas/CatalogItemSpec' - required: - - apiVersion - - kind - - metadata - - spec - additionalProperties: false - CatalogItemArtifact: - type: object - description: An artifact reference. The type field is the discriminator and must be unique within the artifacts list. - properties: - type: - $ref: '#/components/schemas/CatalogItemArtifactType' - name: - type: string - description: Optional human-readable display name for this artifact. - example: QCOW2 Disk Image - uri: - type: string - minLength: 1 - description: Artifact URI without version qualifier. The version reference (tag or digest) is applied at resolution time. - example: quay.io/redhat/rhel-bootc-qcow2 - required: - - type - - uri - additionalProperties: false - CatalogItemArtifactType: - type: string - description: Artifact format discriminator. Must be unique within the artifacts list. Includes bootc-image-builder output formats. - example: container - enum: - - container - - qcow2 - - ami - - iso - - anaconda-iso - - vmdk - - vhd - - raw - - gce - - qcow2-disk-container - x-enum-varnames: - - CatalogItemArtifactTypeContainer - - CatalogItemArtifactTypeQcow2 - - CatalogItemArtifactTypeAmi - - CatalogItemArtifactTypeIso - - CatalogItemArtifactTypeAnacondaIso - - CatalogItemArtifactTypeVmdk - - CatalogItemArtifactTypeVhd - - CatalogItemArtifactTypeRaw - - CatalogItemArtifactTypeGce - - CatalogItemArtifactTypeQcow2DiskContainer - CatalogItemConfigurable: - type: object - description: Configuration fields that can be specified at item level (as defaults) and overridden at version level. Version-level values fully replace item-level values (not merged). - properties: - config: - type: object - additionalProperties: true - description: Configuration values (envVars, ports, volumes, resources, etc.). - example: - envVars: - LOG_LEVEL: info - ports: - - '9090:9090' - configSchema: - type: object - additionalProperties: true - description: JSON Schema defining configurable parameters and their validation. - readme: - type: string - description: Detailed documentation, preferably in markdown format. - CatalogItemSpec: - type: object - description: CatalogItemSpec defines the configuration for a catalog item. - properties: - category: - $ref: '#/components/schemas/CatalogItemCategory' - type: - $ref: '#/components/schemas/CatalogItemType' - artifacts: - type: array - items: - $ref: '#/components/schemas/CatalogItemArtifact' - minItems: 1 - description: Artifact definitions for this catalog item. Defined once; version references resolve each artifact independently. Type must be unique within the list. - example: - - type: container - uri: quay.io/prometheus/prometheus - versions: - type: array - items: - $ref: '#/components/schemas/CatalogItemVersion' - description: Available versions using Cincinnati model. Use replaces for primary edge, skips when stable channel skips intermediate versions. - example: - - version: 2.45.0 - references: - container: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 - channels: - - stable - - fast - replaces: 2.44.0 - skips: - - 2.43.0 - - version: 2.44.0 - references: - container: v2.44.0 - channels: - - fast - replaces: 2.43.0 - defaults: - $ref: '#/components/schemas/CatalogItemConfigurable' - displayName: - type: string - description: Human-readable display name shown in catalog listings. - shortDescription: - type: string - description: A brief one-line description of the catalog item. - icon: - type: string - description: URL or data URI of the catalog item icon for display in UI. - deprecation: - $ref: '#/components/schemas/CatalogItemDeprecation' - provider: - type: string - description: Provider or publisher of the catalog item (company or team name). - support: - type: string - description: Link to support resources or documentation for getting help. - homepage: - type: string - description: The homepage URL for the catalog item project. - documentationUrl: - type: string - description: Link to external documentation. - required: - - type - - artifacts - - versions - additionalProperties: false - CatalogItemVersion: - type: object - description: | - A version of a catalog item following the Cincinnati model where versions - are nodes in an upgrade graph and channels are labels on those nodes. - Upgrade edges are defined by replaces (single), skips (multiple), or - skipRange (semver range). Includes CatalogItemConfigurable fields that - override item-level defaults. - allOf: - - $ref: '#/components/schemas/CatalogItemConfigurable' - - type: object - properties: - version: - allOf: - - $ref: '#/components/schemas/SemVer' - description: Semantic version identifier (e.g., 1.2.3, 2.0.0-rc1). Required for version ordering and upgrade graph. - example: 2.45.0 - references: - type: object - minProperties: 1 - additionalProperties: - type: string - minLength: 1 - description: Map of artifact type to image tag or digest. Keys must match a type in spec.artifacts. Only keyed artifacts are available for this version. - example: - container: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 - qcow2: v2.45.0 - channels: - type: array - minItems: 1 - items: - type: string - description: Channels this version belongs to. - replaces: - allOf: - - $ref: '#/components/schemas/SemVer' - description: The single version this one replaces, defining the primary upgrade edge. - skips: - type: array - items: - $ref: '#/components/schemas/SemVer' - description: Additional versions that can upgrade directly to this one. Use when stable channel skips intermediate fast-only versions. - example: - - 1.0.0 - - 1.1.0 - skipRange: - allOf: - - $ref: '#/components/schemas/SemVerRange' - description: Semver range of versions that can upgrade directly to this one. Use for z-stream updates or hotfixes. - example: '>=1.0.0 <1.3.0' - deprecation: - $ref: '#/components/schemas/CatalogItemDeprecation' - required: - - version - - channels - - references - CatalogItemList: - type: object - description: CatalogItemList is a list of CatalogItems. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of CatalogItems. - items: - $ref: '#/components/schemas/CatalogItem' - required: - - apiVersion - - kind - - metadata - - items - additionalProperties: false - CatalogItemCategory: - type: string - description: Category of a catalog item. - enum: - - system - - application - default: application - x-enum-varnames: - - CatalogItemCategorySystem - - CatalogItemCategoryApplication - CatalogItemType: - type: string - description: Type of catalog item within its category. - enum: - - os - - firmware - - driver - - container - - helm - - quadlet - - compose - - data - x-enum-varnames: - - CatalogItemTypeOS - - CatalogItemTypeFirmware - - CatalogItemTypeDriver - - CatalogItemTypeContainer - - CatalogItemTypeHelm - - CatalogItemTypeQuadlet - - CatalogItemTypeCompose - - CatalogItemTypeData - CatalogItemDeprecation: - type: object - description: Deprecation information for a catalog item or version. Presence indicates deprecated status. - properties: - message: - type: string - description: Required message explaining why this is deprecated and what to do instead. - example: This item is deprecated. Use nginx-plus instead. - replacement: - type: string - description: Optional name of the replacement catalog item (item-level only). - example: nginx-plus - required: - - message - additionalProperties: false - Status: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - code: - type: integer - format: int32 - description: Suggested HTTP return code for this status, 0 if not set. - message: - type: string - description: A human-readable description of the status of this operation. - reason: - type: string - description: A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it. - status: - type: string - description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.' - description: Status is a return value for calls that don't return other objects. - required: - - apiVersion - - kind - - status - - code - - reason - - message - additionalProperties: false - VulnerabilitySummaryResponse: - type: object - description: Estate-wide vulnerability summary counts. - additionalProperties: false - required: - - apiVersion - - kind - - cvesBySeverity - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Resource kind; always VulnerabilitySummary. - cvesBySeverity: - $ref: '#/components/schemas/CveCountsBySeverity' - DeviceCountsBySeverity: - type: object - description: Counts of distinct devices affected in the organization, grouped by vulnerability severity. - additionalProperties: false - required: - - total - - critical - - high - - medium - - low - - none - - unknown - properties: - total: - type: integer - format: int64 - description: Number of distinct devices with at least one vulnerability finding in the organization. - critical: - type: integer - format: int64 - description: Number of devices whose highest severity finding is critical. - high: - type: integer - format: int64 - description: Number of devices whose highest severity finding is high. - medium: - type: integer - format: int64 - description: Number of devices whose highest severity finding is medium. - low: - type: integer - format: int64 - description: Number of devices whose highest severity finding is low. - none: - type: integer - format: int64 - description: Number of devices whose highest severity finding is none. - unknown: - type: integer - format: int64 - description: Number of devices whose highest severity finding is unknown. - CveCountsBySeverity: - type: object - description: Counts of distinct CVEs in the organization by highest severity. - additionalProperties: false - required: - - total - - critical - - high - - medium - - low - - none - - unknown - properties: - total: - type: integer - format: int64 - description: Total distinct CVEs across the organization. - critical: - type: integer - format: int64 - description: Count of distinct Critical CVEs. - high: - type: integer - format: int64 - description: Count of distinct High CVEs. - medium: - type: integer - format: int64 - description: Count of distinct Medium CVEs. - low: - type: integer - format: int64 - description: Count of distinct Low CVEs. - none: - type: integer - format: int64 - description: Count of distinct CVEs with no exploitable impact (CVSS score 0). - unknown: - type: integer - format: int64 - description: Count of distinct CVEs with unknown or unscored severity. - Vulnerability: - type: object - description: A single vulnerability (CVE) finding. Vulnerabilities are global CVE records from Trustify; they are not tenant-owned resources. Tenancy is determined by the device or fleet context through which they are queried. - additionalProperties: false - required: - - apiVersion - - kind - - cveId - - severity - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource this object represents. Always Vulnerability. - cveId: - type: string - description: CVE identifier (e.g. CVE-2024-1234). - advisoryId: - type: string - description: Vendor advisory identifier when available. - issuer: - type: string - description: Name of the advisory issuer (e.g. Red Hat, NVD) when known. - link: - type: string - description: URL to the CVE details page. Points to Red Hat Security portal for Red Hat advisories, otherwise to NVD. - severity: - type: string - description: Normalized severity label. - enum: - - Critical - - High - - Medium - - Low - - None - - Unknown - cvssScore: - type: number - format: float - description: CVSS base score when available. - description: - type: string - description: Short summary of the vulnerability. - publishedAt: - type: string - format: date-time - description: Advisory publish time when known. - image: - type: string - description: Image reference (name or URL) from the device context. - imageDigest: - type: string - description: Immutable image digest from the device context. - affectedDevices: - type: integer - format: int64 - description: Distinct devices affected by this CVE. For device context this is always 1; for fleet context it is the number of devices in the fleet running an image with this CVE; for organization-wide context it is the count across the whole organization. - VulnerabilityList: - type: object - description: Paginated list of Vulnerability resources. - additionalProperties: false - required: - - apiVersion - - kind - - metadata - - items - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource this object represents. Always VulnerabilityList. - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: Paginated Vulnerability resources for this page. - items: - $ref: '#/components/schemas/Vulnerability' - VulnerabilityImageRef: - type: object - description: Reference to an OS or workload image by name and digest. - additionalProperties: false - required: - - image - - imageDigest - properties: - image: - type: string - description: Image reference (name or URL). - imageDigest: - type: string - description: Immutable image digest. - affectedDevices: - type: integer - format: int64 - description: Devices running this exact image digest within the parent scope (fleet or blast radius row). - VulnerabilityGroupItem: - type: object - description: A single CVE finding for a specific image digest, including all image refs that resolve to that digest. - additionalProperties: false - required: - - imageDigest - - severity - - imageRefs - properties: - imageDigest: - type: string - description: Immutable image digest. - imageRefs: - type: array - description: Image references observed for this digest within the query scope. - items: - type: string - severity: - type: string - description: Severity of this CVE for this digest. - enum: - - Critical - - High - - Medium - - Low - - None - - Unknown - cvssScore: - type: number - format: float - description: CVSS base score when available. - advisoryId: - type: string - description: Vendor advisory identifier when available. - issuer: - type: string - description: Name of the advisory issuer (e.g. Red Hat, NVD) when known. - link: - type: string - description: URL to the CVE details page. Points to Red Hat Security portal for Red Hat advisories, otherwise to NVD. - description: - type: string - description: Short summary of the vulnerability. - publishedAt: - type: string - format: date-time - description: Advisory publish time when known. - affectedDevices: - type: integer - format: int64 - description: Number of devices in scope running this digest. - firstSeenAt: - type: string - format: date-time - description: When this CVE was first observed in this digest. - VulnerabilityGroup: - type: object - description: | - A CVE grouped across one or more images, as returned by fleet-scoped and organization-wide vulnerability list endpoints. Each finding represents one image in which the CVE was detected. - additionalProperties: false - required: - - apiVersion - - kind - - cveId - - severity - - findings - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource. Always VulnerabilityGroup. - cveId: - type: string - description: CVE identifier (e.g. CVE-2024-1234). - severity: - type: string - description: Worst severity across all findings in this group. - enum: - - Critical - - High - - Medium - - Low - - None - - Unknown - maxCvssScore: - type: number - format: float - description: Highest CVSS base score across all findings. - maxPublishedAt: - type: string - format: date-time - description: Latest advisory publish time across all findings. - affectedDevices: - type: integer - format: int64 - description: Total distinct devices affected by this CVE within scope. - findings: - type: array - description: Per-digest findings for this CVE within the query scope. - items: - $ref: '#/components/schemas/VulnerabilityGroupItem' - VulnerabilityGroupList: - type: object - description: Paginated list of VulnerabilityGroup resources (fleet-scoped or organization-wide). - additionalProperties: false - required: - - apiVersion - - kind - - metadata - - items - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource. Always VulnerabilityGroupList. - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: Paginated VulnerabilityGroup resources for this page. - items: - $ref: '#/components/schemas/VulnerabilityGroup' - DeviceVulnerabilitySummaryResponse: - type: object - description: Severity summary for a single device. - additionalProperties: false - required: - - apiVersion - - kind - - summary - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Resource kind; always DeviceVulnerabilitySummary. - image: - type: string - description: Image reference from device status. Absent when the device has no rendered OS image. - imageDigest: - type: string - description: Image digest from device status. Absent when the device has no rendered OS image. - summary: - $ref: '#/components/schemas/VulnerabilitySeveritySummary' - FleetVulnerabilitySummaryResponse: - type: object - description: Severity summary for a single fleet. - additionalProperties: false - required: - - apiVersion - - kind - - summary - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Resource kind; always FleetVulnerabilitySummary. - summary: - $ref: '#/components/schemas/FleetVulnerabilitySummary' - VulnerabilitySeveritySummary: - type: object - description: Total vulnerability counts by severity for the full result set (not only the current page). - additionalProperties: false - required: - - total - - critical - - high - - medium - - low - - none - - unknown - properties: - total: - type: integer - format: int64 - description: Total vulnerabilities across all severities for the full result set. - critical: - type: integer - format: int64 - description: Count of Critical severity findings in the full result set. - high: - type: integer - format: int64 - description: Count of High severity findings in the full result set. - medium: - type: integer - format: int64 - description: Count of Medium severity findings in the full result set. - low: - type: integer - format: int64 - description: Count of Low severity findings in the full result set. - none: - type: integer - format: int64 - description: Count of findings with no exploitable impact (CVSS score 0). - unknown: - type: integer - format: int64 - description: Count of findings with unknown or unscored severity. - FleetVulnerabilitySummary: - description: Fleet vulnerability totals including unique digest count. - allOf: - - $ref: '#/components/schemas/VulnerabilitySeveritySummary' - - type: object - additionalProperties: false - required: - - uniqueDigests - properties: - uniqueDigests: - type: integer - format: int64 - description: Distinct image digests observed in the fleet. - VulnerabilityImpact: - type: object - description: Blast radius for a single CVE across fleets and fleetless devices. - additionalProperties: false - required: - - apiVersion - - kind - - metadata - - cveId - - severity - - items - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Resource kind; always VulnerabilityImpact. - metadata: - $ref: '#/components/schemas/ListMeta' - cveId: - type: string - description: CVE identifier for this blast radius response. - issuer: - type: string - description: Name of the advisory issuer (e.g. Red Hat, NVD) when known. - link: - type: string - description: URL to the CVE details page. Points to Red Hat Security portal for Red Hat advisories, otherwise to NVD. - severity: - type: string - description: Worst severity for this CVE in the fleet or fleetless group. - enum: - - Critical - - High - - Medium - - Low - - None - - Unknown - maxCvssScore: - type: number - format: float - description: Highest CVSS base score for this CVE in the fleet or fleetless group. - maxPublishedAt: - type: string - format: date-time - description: When this CVE was first observed in the fleet or fleetless group. - items: - type: array - description: Per-fleet or fleetless rows with device and image counts. - items: - $ref: '#/components/schemas/AffectedFleet' - AffectedFleet: - type: object - description: One fleet or the fleetless aggregate with device and image counts for a CVE. - additionalProperties: false - required: - - fleetName - - fleetless - - affectedDevices - - findings - properties: - fleetName: - type: string - description: Fleet metadata.name, empty for the fleetless aggregate. - fleetless: - type: boolean - description: True when this row represents devices not owned by a fleet. - affectedDevices: - type: integer - format: int64 - description: Devices in this fleet or fleetless group affected by the CVE. - findings: - type: array - description: Per-digest findings within this fleet or fleetless group. - items: - $ref: '#/components/schemas/VulnerabilityGroupItem' - ListMeta: - type: object - properties: - continue: - type: string - description: May be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message. - remainingItemCount: - type: integer - description: The number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact. - format: int64 - description: ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. - ObjectMeta: - type: object - properties: - creationTimestamp: - type: string - description: The time the object was created. - format: date-time - deletionTimestamp: - type: string - description: The time the object will be deleted. - format: date-time - name: - type: string - maxLength: 253 - description: The name of the object. - labels: - type: object - description: Map of string keys and values that can be used to organize and categorize (scope and select) objects. - additionalProperties: - type: string - maxLength: 63 - generation: - type: integer - description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. - format: int64 - owner: - type: string - description: A resource that owns this resource, in "kind/name" format. - annotations: - type: object - additionalProperties: - type: string - description: Properties set by the service. - resourceVersion: - type: string - description: An opaque string that identifies the server's internal version of an object. - description: ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. - ConditionStatus: - type: string - description: Status of the condition, one of True, False, Unknown. - enum: - - 'True' - - 'False' - - Unknown - x-enum-varnames: - - ConditionStatusTrue - - ConditionStatusFalse - - ConditionStatusUnknown - ConditionBase: - type: object - description: Base condition structure following Kubernetes API conventions. Use with allOf to add a specific type enum. - required: - - status - - lastTransitionTime - - reason - - message - properties: - status: - $ref: '#/components/schemas/ConditionStatus' - observedGeneration: - type: integer - format: int64 - description: The .metadata.generation that the condition was set based upon. - lastTransitionTime: - type: string - format: date-time - description: The last time the condition transitioned from one status to another. - message: - type: string - description: Human readable message indicating details about last transition. - reason: - type: string - description: A (brief) reason for the condition's last transition. - ConditionType: - type: string - description: Type of condition in CamelCase. - enum: - - Approved - - TPMVerified - - Approved - - Denied - - Failed - - TPMVerified - - Accessible - - Accessible - - ResourceParsed - - Synced - - Valid - - RolloutInProgress - - Updating - - SpecValid - - MultipleOwners - - DeviceDecommissioning - x-enum-varnames: - - EnrollmentRequestApproved - - EnrollmentRequestTPMVerified - - CertificateSigningRequestApproved - - CertificateSigningRequestDenied - - CertificateSigningRequestFailed - - CertificateSigningRequestTPMVerified - - RepositoryAccessible - - ResourceSyncAccessible - - ResourceSyncResourceParsed - - ResourceSyncSynced - - FleetValid - - FleetRolloutInProgress - - DeviceUpdating - - DeviceSpecValid - - DeviceMultipleOwners - - DeviceDecommissioning - Condition: - description: Condition contains details for one aspect of the current state of this API Resource. - allOf: - - $ref: '#/components/schemas/ConditionBase' - - type: object - required: - - type - properties: - type: - $ref: '#/components/schemas/ConditionType' - PatchRequest: - type: array - items: - type: object - additionalProperties: false - required: - - op - - path - properties: - path: - description: A JSON Pointer path. - type: string - value: - description: The value to add or replace. - op: - description: The operation to perform. - type: string - enum: - - add - - replace - - remove - - test diff --git a/api/bundled/core-v1beta1.yaml b/api/bundled/core-v1beta1.yaml deleted file mode 100644 index c013ac1..0000000 --- a/api/bundled/core-v1beta1.yaml +++ /dev/null @@ -1,8413 +0,0 @@ -openapi: 3.0.1 -info: - title: Flight Control API - version: v1beta1 - description: | - [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. - contact: - name: The Flight Control Team - url: https://flightctl.io - email: team@flightctl.io - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0.html -servers: - - url: /api/v1 -tags: - - name: authentication - description: Operations for authentication. - - name: authprovider - description: Operations on AuthProvider resources. - - name: certificatesigningrequest - description: Operations on CertificateSigningRequest resources. - - name: device - description: Operations on Device resources. - - name: deviceactions - description: Operations for device actions. - - name: enrollmentrequest - description: Operations on EnrollmentRequest resources. - - name: event - description: Operations for retrieving events. - - name: fleet - description: Operations on Fleet resources. - - name: label - description: Operations for retrieving labels across different resources. - - name: organization - description: Operations for retrieving Organization resources. - - name: repository - description: Operations on Repository resources. - - name: resourcesync - description: Operations on ResourceSync resources. - - name: version - description: Operations for receiving service version. -paths: - /version: - get: - tags: - - version - description: Get service version. - operationId: getVersion - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Version' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /auth/config: - get: - tags: - - authentication - description: Get authentication configuration. - operationId: authConfig - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthConfig' - '418': - description: Auth not configured - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /auth/validate: - get: - tags: - - authentication - description: Validate an authentication token. - operationId: authValidate - parameters: - - name: Authorization - in: header - description: The authentication token to validate. - schema: - type: string - responses: - '200': - description: Token valid - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Token invalid - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '418': - description: Auth not configured - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /auth/permissions: - get: - tags: - - authentication - description: Get the list of available permissions for the authenticated user. - operationId: authGetPermissions - responses: - '200': - description: List of available permissions - content: - application/json: - schema: - $ref: '#/components/schemas/PermissionList' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '418': - description: Auth not configured - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /auth/{providername}/token: - post: - tags: - - authentication - description: OAuth2 token exchange endpoint. Proxies token requests to the configured authentication provider (PAM issuer) for authorization code flow with PKCE support. - operationId: authToken - parameters: - - name: providername - in: path - required: true - schema: - type: string - description: Name of the authentication provider to use. - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TokenRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TokenRequest' - responses: - '200': - description: Token response - content: - application/json: - schema: - $ref: '#/components/schemas/TokenResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/TokenResponse' - /auth/userinfo: - get: - tags: - - authentication - description: OIDC UserInfo endpoint. Proxies the request to the configured authentication provider to retrieve user information. - operationId: authUserInfo - responses: - '200': - description: User information - content: - application/json: - schema: - $ref: '#/components/schemas/UserInfoResponse' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '418': - description: Auth not configured - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /resourcesyncs: - x-resource: resourcesyncs - get: - tags: - - resourcesync - description: List ResourceSync resources. - operationId: listResourceSyncs - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSyncList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - resourcesync - description: Create a ResourceSync resource. - operationId: createResourceSync - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - links: - GetResourceSync: - operationId: getResourceSync - parameters: - name: $response.body#/metadata/name - DeleteResourceSync: - operationId: deleteResourceSync - parameters: - name: $response.body#/metadata/name - ReplaceResourceSync: - operationId: replaceResourceSync - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /resourcesyncs/{name}: - x-resource: resourcesyncs - get: - tags: - - resourcesync - description: Get a ResourceSync resource. - operationId: getResourceSync - parameters: - - name: name - in: path - description: The name of the ResourceSync resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - resourcesync - description: Update a ResourceSync resource. - operationId: replaceResourceSync - parameters: - - name: name - in: path - description: The name of the ResourceSync resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - resourcesync - description: Patch a ResourceSync resource. - operationId: patchResourceSync - parameters: - - name: name - in: path - description: The name of the ResourceSync resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceSync' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - resourcesync - description: Delete a ResourceSync resource. - operationId: deleteResourceSync - parameters: - - name: name - in: path - description: The name of the ResourceSync resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /repositories: - x-resource: repositories - get: - tags: - - repository - description: List Repository resources. - operationId: listRepositories - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/RepositoryList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - repository - description: Create a Repository resource. - operationId: createRepository - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - links: - GetRepository: - operationId: getRepository - parameters: - name: $response.body#/metadata/name - DeleteRepository: - operationId: deleteRepository - parameters: - name: $response.body#/metadata/name - ReplaceRepository: - operationId: replaceRepository - parameters: - name: $response.body#/metadata/name - CreateResourceSync: - operationId: createResourceSync - requestBody: - spec: - repository: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /repositories/{name}: - x-resource: repositories - get: - tags: - - repository - description: Get a Repository resource. - operationId: getRepository - parameters: - - name: name - in: path - description: The name of the Repository resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - repository - description: Update a Repository resource. - operationId: replaceRepository - parameters: - - name: name - in: path - description: The name of the Repository resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - repository - description: Delete a Repository resource. - operationId: deleteRepository - parameters: - - name: name - in: path - description: The name of the Repository resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - repository - description: Patch a Repository resource. - operationId: patchRepository - parameters: - - name: name - in: path - description: The name of the Repository resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Repository' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /repositories/{name}/check-oci-tag: - x-resource: repositories/check-oci-tag - post: - tags: - - repository - description: | - Check if a specific image tag exists in an OCI registry configured as a Repository resource. The registry credentials and connection settings are read from the named Repository resource. - operationId: checkRepositoryOciTag - parameters: - - name: name - in: path - description: The name of the Repository resource to use for registry connection. - required: true - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CheckRepositoryOciTagRequest' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CheckRepositoryOciResult' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - Repository resource does not exist - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /repositories/{name}/check-oci-image: - x-resource: repositories/check-oci-image - post: - tags: - - repository - description: | - Check if a specific OCI image is accessible in a registry configured as a Repository resource. The registry credentials and connection settings are read from the named Repository resource. - operationId: checkRepositoryOciImage - parameters: - - name: name - in: path - description: The name of the Repository resource to use for registry connection. - required: true - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CheckRepositoryOciImageRequest' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CheckRepositoryOciResult' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - Repository resource does not exist - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices: - x-resource: devices - get: - tags: - - device - description: List Device resources. - operationId: listDevices - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: summaryOnly - in: query - description: A boolean flag to include only a summary of the devices. When set to true, the response will contain only the summary information. Only the 'owner' and 'labelSelector' parameters are supported when 'summaryOnly' is true. - required: false - schema: - type: boolean - - name: cveId - in: query - description: Filter devices by CVE ID. Only returns devices whose OS image digest has the specified vulnerability. Must be a MITRE-style identifier (CVE-YYYY-sequence, e.g. CVE-2024-12345). - required: false - schema: - type: string - pattern: ^CVE-[0-9]{4}-[0-9]{4,}$ - maxLength: 64 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - device - description: Create a Device resource. - operationId: createDevice - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - links: - GetDevice: - operationId: getDevice - parameters: - name: $response.body#/metadata/name - DeleteDevice: - operationId: deleteDevice - parameters: - name: $response.body#/metadata/name - ReplaceDevice: - operationId: replaceDevice - parameters: - name: $response.body#/metadata/name - GetDeviceStatus: - operationId: getDeviceStatus - parameters: - name: $response.body#/metadata/name - ReplaceDeviceStatus: - operationId: replaceDeviceStatus - parameters: - name: $response.body#/metadata/name - GetRenderedDevice: - operationId: getRenderedDevice - parameters: - name: $response.body#/metadata/name - GetDeviceLastSeen: - operationId: getDeviceLastSeen - parameters: - name: $response.body#/metadata/name - DecommissionDevice: - operationId: decommissionDevice - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices/{name}: - x-resource: devices - get: - tags: - - device - description: Get a Device resource. - operationId: getDevice - parameters: - - name: name - in: path - description: The name of the Device resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - device - description: Update a Device resource. - operationId: replaceDevice - parameters: - - name: name - in: path - description: The name of the Device resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - device - description: Delete a Device resource. - operationId: deleteDevice - parameters: - - name: name - in: path - description: The name of the Device resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - device - description: Patch a Device resource. - operationId: patchDevice - parameters: - - name: name - in: path - description: The name of the Device resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices/{name}/status: - x-resource: devices/status - get: - tags: - - device - description: Get the status of a Device resource. - operationId: getDeviceStatus - parameters: - - name: name - in: path - description: The name of the Device resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - device - description: Patch the status of a Device resource. - operationId: patchDeviceStatus - parameters: - - name: name - in: path - description: The name of the Device resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - device - description: Update the status of a Device resource. - operationId: replaceDeviceStatus - parameters: - - name: name - in: path - description: The name of the Device resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices/{name}/decommission: - x-resource: devices/decommission - put: - tags: - - device - description: schedule the device to decommission - operationId: decommissionDevice - parameters: - - name: name - in: path - description: The name of the Device resource to decommission. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceDecommission' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices/{name}/rendered: - x-resource: devices/rendered - get: - tags: - - device - description: Get the rendered device. - operationId: getRenderedDevice - parameters: - - name: name - in: path - description: The name of the Device resource to get the rendered device specification for. - required: true - schema: - type: string - - name: knownRenderedVersion - in: query - description: The last known renderedVersion. - required: false - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - '204': - description: No Content - content: {} - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /devices/{name}/lastseen: - x-resource: devices/lastseen - get: - tags: - - device - description: Get the last seen timestamp of the Device resource. - operationId: getDeviceLastSeen - parameters: - - name: name - in: path - description: The name of the Device resource to get the last seen timestamp for. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceLastSeen' - '204': - description: No Content - content: {} - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /deviceactions/resume: - x-resource: devices/resume - post: - tags: - - deviceactions - description: Resume devices based on label selector and/or field selector. - operationId: resumeDevices - x-rbac: - resource: devices/resume - action: update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceResumeRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceResumeResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /enrollmentconfig: - get: - tags: - - enrollmentrequest - description: Get enrollment information. - operationId: getEnrollmentConfig - parameters: - - name: csr - in: query - description: The name of a CertificateSigningRequest resource to query for an issued certificate. If provided, the service will check if the CertificateSigningRequest contains an issued certificate and in this case include it the returned EnrollmentConfig. In all other case, the enrollment certificate field will be empty. - required: false - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentConfig' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /enrollmentrequests: - x-resource: enrollmentrequests - get: - tags: - - enrollmentrequest - description: List EnrollmentRequest resources. - operationId: listEnrollmentRequests - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequestList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - enrollmentrequest - description: Create an EnrollmentRequest resource. - operationId: createEnrollmentRequest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - links: - GetEnrollmentRequest: - operationId: getEnrollmentRequest - parameters: - name: $response.body#/metadata/name - DeleteEnrollmentRequest: - operationId: deleteEnrollmentRequest - parameters: - name: $response.body#/metadata/name - GetEnrollmentRequestStatus: - operationId: getEnrollmentRequestStatus - parameters: - name: $response.body#/metadata/name - ApproveEnrollmentRequest: - operationId: approveEnrollmentRequest - parameters: - name: $response.body#/metadata/name - ReplaceEnrollmentRequest: - operationId: replaceEnrollmentRequest - parameters: - name: $response.body#/metadata/name - ReplaceEnrollmentRequestStatus: - operationId: replaceEnrollmentRequestStatus - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /enrollmentrequests/{name}: - x-resource: enrollmentrequests - get: - tags: - - enrollmentrequest - description: Get an EnrollmentRequest resource. - operationId: getEnrollmentRequest - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - enrollmentrequest - description: Update an EnrollmentRequest resource. - operationId: replaceEnrollmentRequest - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - enrollmentrequest - description: Patch an EnrollmentRequest resource. - operationId: patchEnrollmentRequest - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - enrollmentrequest - description: Delete an EnrollmentRequest resource. - operationId: deleteEnrollmentRequest - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /enrollmentrequests/{name}/status: - x-resource: enrollmentrequests/status - get: - tags: - - enrollmentrequest - description: Get the status of an EnrollmentRequest resource. - operationId: getEnrollmentRequestStatus - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - enrollmentrequest - description: Update the status of an EnrollmentRequest resource. - operationId: replaceEnrollmentRequestStatus - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - enrollmentrequest - description: Patch the status of an EnrollmentRequest resource. - operationId: patchEnrollmentRequestStatus - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /enrollmentrequests/{name}/approval: - x-resource: enrollmentrequests/approval - put: - tags: - - enrollmentrequest - description: Approve or deny an EnrollmentRequest. - operationId: approveEnrollmentRequest - parameters: - - name: name - in: path - description: The name of the EnrollmentRequest to approve or deny. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequestApproval' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EnrollmentRequestApprovalStatus' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /certificatesigningrequests: - x-resource: certificatesigningrequests - get: - tags: - - certificatesigningrequest - description: List CertificateSigningRequest resources. - operationId: listCertificateSigningRequests - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequestList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - certificatesigningrequest - description: Create a CertificateSigningRequest resource. - operationId: createCertificateSigningRequest - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - links: - GetCertificateSigningRequest: - operationId: getCertificateSigningRequest - parameters: - name: $response.body#/metadata/name - DeleteCertificateSigningRequest: - operationId: deleteCertificateSigningRequest - parameters: - name: $response.body#/metadata/name - UpdateCertificateSigningRequestApproval: - operationId: updateCertificateSigningRequestApproval - parameters: - name: $response.body#/metadata/name - ReplaceCertificateSigningRequest: - operationId: replaceCertificateSigningRequest - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /certificatesigningrequests/{name}: - x-resource: certificatesigningrequests - patch: - tags: - - certificatesigningrequest - description: Patch a CertificateSigningRequest resource. - operationId: patchCertificateSigningRequest - parameters: - - name: name - in: path - description: The name of the CertificateSigningRequest resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - get: - tags: - - certificatesigningrequest - description: read the specified certificateSigningRequest - operationId: getCertificateSigningRequest - parameters: - - name: name - in: path - description: The name of the CertificateSigningRequest resource to get. - required: true - schema: - type: string - uniqueItems: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - certificatesigningrequest - description: replace the specified CertificateSigningRequest - operationId: replaceCertificateSigningRequest - parameters: - - name: name - in: path - description: The name of the CertificateSigningRequest resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - certificatesigningrequest - description: delete a Certificate Signing Request - operationId: deleteCertificateSigningRequest - parameters: - - name: name - in: path - description: The name of the CertificateSigningRequest resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /certificatesigningrequests/{name}/approval: - x-resource: certificatesigningrequests/approval - put: - tags: - - certificatesigningrequest - description: Approve or deny a CertificateSigningRequest. - operationId: updateCertificateSigningRequestApproval - parameters: - - name: name - in: path - description: The name of the CertificateSigningRequest to approve or deny. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateSigningRequest' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /fleets: - x-resource: fleets - get: - tags: - - fleet - description: List Fleet resources. - operationId: listFleets - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: addDevicesSummary - in: query - description: Include a summary of the devices in the fleet. - required: false - schema: - type: boolean - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FleetList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - fleet - description: Create a Fleet resource. - operationId: createFleet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - links: - GetFleet: - operationId: getFleet - parameters: - name: $response.body#/metadata/name - DeleteFleet: - operationId: deleteFleet - parameters: - name: $response.body#/metadata/name - ListTemplateVersions: - operationId: listTemplateVersions - parameters: - fleet: $response.body#/metadata/name - ReplaceFleet: - operationId: replaceFleet - parameters: - name: $response.body#/metadata/name - GetFleetStatus: - operationId: getFleetStatus - parameters: - name: $response.body#/metadata/name - ReplaceFleetStatus: - operationId: replaceFleetStatus - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /fleets/{name}: - x-resource: fleets - get: - tags: - - fleet - description: Get a Fleet resource. - operationId: getFleet - parameters: - - name: name - in: path - description: The name of the Fleet resource to get. - required: true - schema: - type: string - - name: addDevicesSummary - in: query - description: Include a summary of the devices in the fleet. - required: false - schema: - type: boolean - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - fleet - description: Update a Fleet resource. - operationId: replaceFleet - parameters: - - name: name - in: path - description: The name of the Fleet resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - fleet - description: Patch a Fleet resource. - operationId: patchFleet - parameters: - - name: name - in: path - description: The name of the Fleet resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - fleet - description: Delete a Fleet resource. - operationId: deleteFleet - parameters: - - name: name - in: path - description: The name of the Fleet resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /fleets/{name}/status: - x-resource: fleets/status - get: - tags: - - fleet - description: read status of the specified Fleet - operationId: getFleetStatus - parameters: - - name: name - in: path - description: The name of the Fleet resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - fleet - description: Patch the status of a Fleet resource. - operationId: patchFleetStatus - parameters: - - name: name - in: path - description: The name of the Fleet resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - fleet - description: replace status of the specified Fleet - operationId: replaceFleetStatus - parameters: - - name: name - in: path - description: The name of the Fleet resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Fleet' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /fleets/{fleet}/templateversions: - x-resource: fleets/templateversions - get: - tags: - - fleet - description: list template versions - operationId: listTemplateVersions - parameters: - - name: fleet - in: path - description: The owner of the template versions. - required: true - schema: - type: string - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/TemplateVersionList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /fleets/{fleet}/templateversions/{name}: - x-resource: fleets/templateversions - get: - tags: - - fleet - description: read the specified template version - operationId: getTemplateVersion - parameters: - - name: fleet - in: path - description: The owner of the template version. - required: true - schema: - type: string - - name: name - in: path - description: The name of the template version. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/TemplateVersion' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - fleet - description: delete a template version - operationId: deleteTemplateVersion - parameters: - - name: fleet - in: path - description: The owner of the template version. - required: true - schema: - type: string - - name: name - in: path - description: The name of the template version. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /labels: - x-resource: labels - get: - tags: - - label - description: | - Retrieves a distinct list of labels for the specified resource type. - operationId: listLabels - parameters: - - name: kind - in: query - description: The type of resource to retrieve labels from. - required: true - schema: - type: string - enum: - - Device - - name: labelSelector - in: query - description: A filter to retrieve labels only from resources that match the given label selector. - schema: - type: string - - name: fieldSelector - in: query - description: A filter to retrieve labels only from resources that match the given field selector. - schema: - type: string - - name: limit - in: query - description: The maximum number of distinct labels to return in the response. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/LabelList' - examples: - labelsExample: - summary: Example response for labels - value: - - environment=production - - region=us-east-1 - - tier=backend - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /events: - x-resource: events - get: - tags: - - event - description: | - Retrieves a list of events. - operationId: listEvents - parameters: - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: order - in: query - description: Sort order for the results by timestamp. Defaults to 'desc' (newest first). - schema: - type: string - enum: - - asc - - desc - default: desc - - name: limit - in: query - description: The maximum number of events to return in the response. - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/EventList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /organizations: - x-resource: organizations - get: - tags: - - organization - summary: List organizations - description: Retrieves a list of organizations. Only returns organizations that the user has access to. - operationId: listOrganizations - parameters: - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/OrganizationList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /authproviders: - x-resource: authproviders - get: - tags: - - authprovider - description: List AuthProvider resources. - operationId: listAuthProviders - parameters: - - name: continue - in: query - description: An optional parameter to query more results from the server. The value of the paramter must match the value of the 'continue' field in the previous list response. - required: false - schema: - type: string - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. Defaults to everything. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields, supporting operators like '=', '==', and '!=' (e.g., "key1=value1,key2!=value2"). - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. The server will set the 'continue' field in the list response if more results exist. The continue value may then be specified as parameter in a subsequent query. - required: false - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProviderList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - authprovider - description: Create an AuthProvider resource. - operationId: createAuthProvider - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - links: - GetAuthProvider: - operationId: getAuthProvider - parameters: - name: $response.body#/metadata/name - DeleteAuthProvider: - operationId: deleteAuthProvider - parameters: - name: $response.body#/metadata/name - ReplaceAuthProvider: - operationId: replaceAuthProvider - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /authproviders/{name}: - x-resource: authproviders - get: - tags: - - authprovider - description: Get an AuthProvider resource. - operationId: getAuthProvider - parameters: - - name: name - in: path - description: The name of the AuthProvider resource to get. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - authprovider - description: Update an AuthProvider resource. - operationId: replaceAuthProvider - parameters: - - name: name - in: path - description: The name of the AuthProvider resource to update. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - authprovider - description: Patch an AuthProvider resource. - operationId: patchAuthProvider - parameters: - - name: name - in: path - description: The name of the AuthProvider resource to patch. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthProvider' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - authprovider - description: Delete an AuthProvider resource. - operationId: deleteAuthProvider - parameters: - - name: name - in: path - description: The name of the AuthProvider resource to delete. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' -components: - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - orgId: - type: apiKey - in: query - name: org_id - description: The UUID of the organization that owns the resource. Maps to an organizations metadata.name. - schemas: - ApiVersion: - type: string - x-go-type: string - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.' - enum: - - v1beta1 - - flightctl.io/v1beta1 - - '' - x-enum-varnames: - - ApiVersionV1beta1 - - ApiVersionFlightctlIoV1beta1 - - ApiVersionEmpty - ResourceKind: - type: string - enum: - - CertificateSigningRequest - - EnrollmentRequest - - Device - - Fleet - - Repository - - ResourceSync - - TemplateVersion - - AuthProvider - description: Resource types exposed via the API. - DeviceDecommissionTargetType: - type: string - enum: - - Unenroll - - FactoryReset - x-enum-varnames: - - DeviceDecommissionTargetTypeUnenroll - - DeviceDecommissionTargetTypeFactoryReset - description: Specifies the desired decommissioning method of the device. - DeviceDecommission: - type: object - properties: - target: - $ref: '#/components/schemas/DeviceDecommissionTargetType' - required: - - target - description: Metadata about a device decommissioning request. - DeviceResumeRequest: - type: object - additionalProperties: false - properties: - labelSelector: - type: string - description: A selector to restrict the list of devices to resume by their labels. Uses the same format as Kubernetes label selectors (e.g., "key1=value1,key2!=value2"). - fieldSelector: - type: string - description: A selector to restrict the list of devices to resume by their fields. Uses the same format as Kubernetes field selectors (e.g., "metadata.name=device1,status.phase!=Pending"). - anyOf: - - required: - - labelSelector - - required: - - fieldSelector - description: Request to resume devices based on label selector and/or field selector. At least one selector must be provided. - example: - labelSelector: environment=production,tier=frontend - DeviceResumeResponse: - type: object - additionalProperties: false - required: - - resumedDevices - properties: - resumedDevices: - type: integer - description: Number of devices that were successfully resumed. - description: Response from resuming devices. - example: - resumedDevices: 3 - PatchRequest: - type: array - items: - type: object - additionalProperties: false - required: - - op - - path - properties: - path: - description: A JSON Pointer path. - type: string - value: - description: The value to add or replace. - op: - description: The operation to perform. - type: string - enum: - - add - - replace - - remove - - test - Repository: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/RepositorySpec' - status: - $ref: '#/components/schemas/RepositoryStatus' - required: - - apiVersion - - kind - - metadata - - spec - description: Repository represents a Git repository or an HTTP endpoint. - example: - apiVersion: flightctl.io/v1beta1 - kind: Repository - metadata: - name: example-repo - spec: - type: oci - registry: quay.io - accessMode: ReadWrite - status: - conditions: [] - HttpConfig: - type: object - description: Configuration for HTTP transport. - additionalProperties: false - properties: - username: - type: string - description: The username for auth with HTTP transport. - password: - type: string - description: The password for auth with HTTP transport. - format: password - tls.crt: - type: string - description: Base64 encoded TLS cert data. - format: password - tls.key: - type: string - description: Base64 encoded TLS cert key. - format: password - ca.crt: - type: string - description: Base64 encoded root CA. - skipServerVerification: - type: boolean - description: Skip remote server verification. - token: - type: string - description: The token for auth with HTTP transport. - format: password - HttpRepoSpec: - type: object - description: HTTP endpoint specification for fetching configuration. - additionalProperties: false - properties: - url: - type: string - minLength: 1 - example: https://example.com/config - description: The HTTP URL to call. - type: - type: string - description: The repository type discriminator. - enum: - - http - x-enum-varnames: - - HttpRepoSpecTypeHttp - httpConfig: - $ref: '#/components/schemas/HttpConfig' - validationSuffix: - type: string - description: URL suffix used only for validating access to the repository. Users might use the URL field as a root URL to be used by config sources adding suffixes. This will help with the validation of the http endpoint. - required: - - url - - type - SshConfig: - type: object - description: Configuration for SSH transport. - additionalProperties: false - properties: - sshPrivateKey: - type: string - description: Base64 encoded private SSH key. - format: password - privateKeyPassphrase: - type: string - description: The passphrase for sshPrivateKey. - format: password - skipServerVerification: - type: boolean - description: Skip remote server verification. - GitRepoSpec: - type: object - description: Git repository specification. Supports no auth (public repos), HTTP/HTTPS auth, or SSH auth. - additionalProperties: false - properties: - url: - type: string - minLength: 1 - example: https://github.com/example/repo.git - description: The Git repository URL to clone from. - type: - type: string - description: The repository type discriminator. - enum: - - git - x-enum-varnames: - - GitRepoSpecTypeGit - httpConfig: - $ref: '#/components/schemas/HttpConfig' - sshConfig: - $ref: '#/components/schemas/SshConfig' - required: - - url - - type - not: - required: - - httpConfig - - sshConfig - OciAuthType: - type: string - description: The type of authentication for OCI registries. - enum: - - docker - DockerAuth: - type: object - description: Docker-style authentication for OCI registries. - additionalProperties: false - properties: - authType: - $ref: '#/components/schemas/OciAuthType' - username: - type: string - description: The username for registry authentication. - password: - type: string - description: The password or token for registry authentication. - format: password - required: - - authType - - username - - password - OciAuth: - type: object - description: Authentication for OCI registries. - discriminator: - propertyName: authType - mapping: - docker: '#/components/schemas/DockerAuth' - oneOf: - - $ref: '#/components/schemas/DockerAuth' - BaseImageEntry: - type: object - description: A curated base image entry available in an OCI registry. - properties: - displayName: - type: string - description: Human-readable label shown in the UI (e.g., "CentOS"). - imageName: - type: string - minLength: 1 - maxLength: 255 - description: Image path within the registry (e.g., "centos-bootc/centos-bootc"). - tags: - type: array - minItems: 1 - items: - type: string - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - description: Selectable tags for this image (e.g., ["stream9", "stream10"]). - required: - - imageName - - tags - additionalProperties: false - OciRepoSpec: - type: object - description: OCI container registry specification. - additionalProperties: false - properties: - registry: - type: string - description: The OCI registry hostname, FQDN, or IP address with optional port (e.g., quay.io, registry.redhat.io, myregistry.com:5000, 192.168.1.1:5000, [::1]:5000). - scheme: - type: string - description: URL scheme for connecting to the registry. - enum: - - http - - https - default: https - type: - type: string - description: The repository type discriminator. - enum: - - oci - x-enum-varnames: - - OciRepoSpecTypeOci - accessMode: - type: string - description: 'Access mode for the registry: "Read" for read-only (pull), "ReadWrite" for read-write (pull and push).' - enum: - - Read - - ReadWrite - default: Read - ociAuth: - $ref: '#/components/schemas/OciAuth' - ca.crt: - type: string - description: Base64 encoded root CA. - skipServerVerification: - type: boolean - description: Skip remote server verification. - baseImages: - type: array - description: Curated list of trusted base images available in this registry. When present, the Image Builder source picker surfaces these entries as selectable options. - items: - $ref: '#/components/schemas/BaseImageEntry' - required: - - registry - - type - RepositorySpec: - type: object - description: RepositorySpec describes a configuration repository. - oneOf: - - $ref: '#/components/schemas/GitRepoSpec' - - $ref: '#/components/schemas/HttpRepoSpec' - - $ref: '#/components/schemas/OciRepoSpec' - discriminator: - propertyName: type - mapping: - git: '#/components/schemas/GitRepoSpec' - http: '#/components/schemas/HttpRepoSpec' - oci: '#/components/schemas/OciRepoSpec' - RepositoryStatus: - type: object - description: RepositoryStatus represents information about the status of a repository. - properties: - conditions: - type: array - description: Current state of the repository. - items: - $ref: '#/components/schemas/Condition' - required: - - conditions - RepositoryList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of repositories. - items: - $ref: '#/components/schemas/Repository' - description: RepositoryList is a list of Repositories. - required: - - apiVersion - - kind - - metadata - - items - RepoSpecType: - type: string - description: RepoSpecType is the type of the repository. - enum: - - git - - http - - oci - x-enum-varnames: - - RepoSpecTypeGit - - RepoSpecTypeHttp - - RepoSpecTypeOci - Device: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/DeviceSpec' - status: - $ref: '#/components/schemas/DeviceStatus' - required: - - apiVersion - - kind - - metadata - additionalProperties: false - description: Device represents a physical device. - example: - apiVersion: flightctl.io/v1beta1 - kind: Device - metadata: - name: f62dfb4f5d2cdbb9339362b5f18f2ce268d75649bdc80003f0e04292a7ef8c3 - labels: - fleet: default - DeviceConsole: - type: object - description: DeviceConsole represents the console connection information. - properties: - sessionMetadata: - type: string - description: Additional session metadata in the form of key=value pairs, can be used to initialize the type of terminal, console to be used, etc. - sessionID: - type: string - description: The session ID for the console connection. - required: - - sessionMetadata - - sessionID - readOnly: true - ConfigProviderSpec: - oneOf: - - $ref: '#/components/schemas/GitConfigProviderSpec' - - $ref: '#/components/schemas/KubernetesSecretProviderSpec' - - $ref: '#/components/schemas/InlineConfigProviderSpec' - - $ref: '#/components/schemas/HttpConfigProviderSpec' - GitConfigProviderSpec: - type: object - properties: - name: - type: string - description: The name of the config provider. - gitRef: - type: object - description: The reference to a Git configuration server. - properties: - repository: - type: string - description: The name of the Repository resource. - targetRevision: - type: string - description: The revision to use from the Repository. - path: - type: string - description: The path to the config in the Repository. - required: - - repository - - targetRevision - - path - required: - - name - - gitRef - KubernetesSecretProviderSpec: - type: object - properties: - name: - type: string - description: The name of the config provider. - secretRef: - type: object - description: The reference to a Kubernetes secret. - properties: - name: - type: string - description: The name of the secret. - namespace: - type: string - description: The namespace of the secret. - mountPath: - type: string - description: Path in the device's file system at which the secret should be mounted. - user: - type: string - description: The file's owner, specified either as a name or numeric ID. Defaults to "root". - x-go-type: Username - x-go-type-skip-optional-pointer: true - group: - type: string - description: The file's group, specified either as a name or numeric ID. Defaults to "root". - x-go-type-skip-optional-pointer: true - required: - - name - - namespace - - mountPath - required: - - name - - secretRef - InlineConfigProviderSpec: - type: object - properties: - name: - type: string - description: The name of the config provider. - inline: - type: array - description: A list of files to create on the device. - items: - $ref: '#/components/schemas/FileSpec' - required: - - name - - inline - FileSpec: - allOf: - - $ref: '#/components/schemas/FileContent' - - $ref: '#/components/schemas/FileMetadata' - - $ref: '#/components/schemas/AbsolutePath' - - type: object - required: - - path - - content - FileContent: - description: The content of a file. - type: object - properties: - content: - type: string - description: The plain text (UTF-8) or base64-encoded content of the file. - contentEncoding: - $ref: '#/components/schemas/EncodingType' - AbsolutePath: - type: object - description: Represents an absolute file path. - properties: - path: - type: string - description: The absolute path to a file on the system. Note that any existing file will be overwritten. - example: /var/log/app.log - RelativePath: - type: object - description: Represents a relative file path. - properties: - path: - type: string - description: A relative file path on the system. Note that any existing file will be overwritten. - example: src/index.js - EncodingType: - type: string - description: Specifies the encoding type used for data representation. - enum: - - plain - - base64 - x-enum-varnames: - - EncodingPlain - - EncodingBase64 - FileMetadata: - description: File metadata. - type: object - properties: - mode: - type: integer - description: The file's permission mode. You may specify the more familiar octal with a leading zero (e.g., 0644) or as a decimal without a leading zero (e.g., 420). Setuid/setgid/sticky bits are supported. If not specified, the permission mode for files defaults to 0644. - user: - type: string - description: The file's owner, specified either as a name or numeric ID. Defaults to "root". - x-go-type: Username - x-go-type-skip-optional-pointer: true - group: - type: string - description: The file's group, specified either as a name or numeric ID. Defaults to "root". - x-go-type-skip-optional-pointer: true - HttpConfigProviderSpec: - type: object - properties: - name: - type: string - description: The name of the config provider. - httpRef: - type: object - description: The reference to an HTTP configuration server. - properties: - repository: - type: string - description: The name of the repository resource to use as the sync source. - suffix: - type: string - description: 'Part of the URL that comes after the base URL. It can include query parameters such as: "/path/to/endpoint?query=param".' - filePath: - type: string - description: Path in the device's file system to which the content returned by the HTTP sever should be written. - required: - - repository - - filePath - required: - - name - - httpRef - ApplicationProviderSpec: - oneOf: - - $ref: '#/components/schemas/ComposeApplication' - - $ref: '#/components/schemas/QuadletApplication' - - $ref: '#/components/schemas/ContainerApplication' - - $ref: '#/components/schemas/HelmApplication' - discriminator: - propertyName: appType - mapping: - compose: '#/components/schemas/ComposeApplication' - quadlet: '#/components/schemas/QuadletApplication' - container: '#/components/schemas/ContainerApplication' - helm: '#/components/schemas/HelmApplication' - ApplicationProviderBase: - type: object - description: Common properties for all application types. - properties: - name: - type: string - description: The application name must be 1–253 characters long, start with a letter or number, and contain no whitespace. - appType: - $ref: '#/components/schemas/AppType' - required: - - appType - ComposeApplication: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationProviderBase' - - $ref: '#/components/schemas/ApplicationEnvVars' - - $ref: '#/components/schemas/ApplicationVolumeProviderSpec' - - oneOf: - - $ref: '#/components/schemas/ImageApplicationProviderSpec' - - $ref: '#/components/schemas/InlineApplicationProviderSpec' - QuadletApplication: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationProviderBase' - - $ref: '#/components/schemas/ApplicationEnvVars' - - $ref: '#/components/schemas/ApplicationUser' - - $ref: '#/components/schemas/ApplicationVolumeProviderSpec' - - oneOf: - - $ref: '#/components/schemas/ImageApplicationProviderSpec' - - $ref: '#/components/schemas/InlineApplicationProviderSpec' - ContainerApplication: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationProviderBase' - - $ref: '#/components/schemas/ApplicationEnvVars' - - $ref: '#/components/schemas/ApplicationUser' - - $ref: '#/components/schemas/ApplicationVolumeProviderSpec' - - type: object - properties: - image: - type: string - description: Reference to the image for this container. - ports: - type: array - description: Port mappings. - items: - $ref: '#/components/schemas/ApplicationPort' - resources: - $ref: '#/components/schemas/ApplicationResources' - required: - - image - HelmApplication: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationProviderBase' - - type: object - properties: - image: - type: string - description: Reference to the chart for this helm application. - namespace: - type: string - description: The target namespace for the application deployment. - example: my-app-namespace - values: - type: object - additionalProperties: true - description: Configuration values for the application. Supports arbitrarily nested structures. - example: - replicaCount: 3 - image: - repository: nginx - tag: '1.21' - service: - type: ClusterIP - port: 80 - ingress: - enabled: true - hosts: - - host: example.com - paths: - - path: / - pathType: Prefix - valuesFiles: - type: array - description: List of values files to apply during deployment. Files are relative paths and applied in array order before user-provided values. - items: - type: string - example: - - values-production.yaml - - values-overrides.yml - required: - - image - ApplicationUser: - type: object - properties: - runAs: - type: string - description: The username of the system user this application should be run under. This is not the same as the user within any containers of the application (if applicable). Defaults to the user that the agent runs as (generally root) if not specified. - x-go-type: Username - x-go-type-skip-optional-pointer: true - ContainerApplicationProperties: - type: object - description: Properties for container application deployments. - properties: - ports: - type: array - description: Port mappings. - items: - $ref: '#/components/schemas/ApplicationPort' - resources: - $ref: '#/components/schemas/ApplicationResources' - ImageApplicationProviderSpec: - type: object - allOf: - - type: object - properties: - image: - type: string - description: Reference to the OCI image or artifact for the application package. - required: - - image - InlineApplicationProviderSpec: - type: object - allOf: - - type: object - properties: - inline: - type: array - description: A list of application content. - items: - $ref: '#/components/schemas/ApplicationContent' - required: - - inline - ApplicationVolumeProviderSpec: - type: object - properties: - volumes: - type: array - description: List of application volumes. - items: - $ref: '#/components/schemas/ApplicationVolume' - ApplicationVolume: - allOf: - - type: object - description: Defines a named volume used by an application. - properties: - name: - type: string - description: Unique name of the volume used within the application. - reclaimPolicy: - $ref: '#/components/schemas/ApplicationVolumeReclaimPolicy' - required: - - name - - oneOf: - - $ref: '#/components/schemas/ImageVolumeProviderSpec' - - $ref: '#/components/schemas/MountVolumeProviderSpec' - - $ref: '#/components/schemas/ImageMountVolumeProviderSpec' - ApplicationVolumeReclaimPolicy: - type: string - description: Defines how the agent handles a volume when the owning application is removed. - default: Retain - enum: - - Retain - VolumeMount: - type: object - description: Mount configuration for a volume. - properties: - path: - type: string - description: Mount path in the container with support for options. - example: /etc/nginx/conf.d:ro - required: - - path - ImageVolumeProviderSpec: - type: object - properties: - image: - $ref: '#/components/schemas/ImageVolumeSource' - required: - - image - not: - required: - - mount - ImageVolumeSource: - type: object - description: Describes the source of an OCI-compliant image or artifact. - properties: - reference: - type: string - description: Reference to an OCI-compliant image or artifact in a registry. This may be a container image or another type of OCI artifact, as long as it conforms to the OCI image specification. - pullPolicy: - $ref: '#/components/schemas/ImagePullPolicy' - required: - - reference - MountVolumeProviderSpec: - type: object - description: Named volume mount configuration. - properties: - mount: - $ref: '#/components/schemas/VolumeMount' - required: - - mount - not: - required: - - image - ImageMountVolumeProviderSpec: - type: object - description: Volume from OCI image mounted at specified path. - properties: - image: - $ref: '#/components/schemas/ImageVolumeSource' - mount: - $ref: '#/components/schemas/VolumeMount' - required: - - image - - mount - ApplicationContent: - allOf: - - $ref: '#/components/schemas/FileContent' - - $ref: '#/components/schemas/RelativePath' - - type: object - required: - - path - ApplicationEnvVars: - type: object - properties: - envVars: - type: object - description: Environment variable key-value pairs, injected during runtime. The key and value each must be between 1 and 253 characters. - additionalProperties: - type: string - ApplicationPort: - type: string - description: Port mapping in format "hostPort:containerPort" (e.g., "8080:80"). - pattern: ^\d+:\d+$ - example: '8080:80' - ApplicationResourceLimits: - type: object - description: Resource limits for the application. - properties: - cpu: - type: string - description: CPU limit in cores. Format restricted based on application type. - example: '0.75' - memory: - type: string - description: Memory limit with optional unit. Format restricted based on application type. - example: 256m - ApplicationResources: - type: object - description: Resource constraints for the application. - properties: - limits: - $ref: '#/components/schemas/ApplicationResourceLimits' - AppType: - type: string - description: The type of the application. - enum: - - compose - - quadlet - - container - - helm - x-enum-varnames: - - AppTypeCompose - - AppTypeQuadlet - - AppTypeContainer - - AppTypeHelm - ResourceMonitor: - oneOf: - - $ref: '#/components/schemas/CpuResourceMonitorSpec' - - $ref: '#/components/schemas/MemoryResourceMonitorSpec' - - $ref: '#/components/schemas/DiskResourceMonitorSpec' - discriminator: - propertyName: monitorType - mapping: - CPU: '#/components/schemas/CpuResourceMonitorSpec' - Memory: '#/components/schemas/MemoryResourceMonitorSpec' - Disk: '#/components/schemas/DiskResourceMonitorSpec' - required: - - monitorType - ResourceMonitorSpec: - type: object - description: Specification for monitoring a resource. - properties: - alertRules: - type: array - items: - $ref: '#/components/schemas/ResourceAlertRule' - description: Array of alert rules. Only one alert per severity is allowed. - samplingInterval: - type: string - pattern: ^[1-9]\d*[smh]$ - description: 'Duration between monitor samples. Format: positive integer followed by ''s'' for seconds, ''m'' for minutes, ''h'' for hours.' - required: - - monitorType - - alertRules - - samplingInterval - CpuResourceMonitorSpec: - allOf: - - type: object - required: - - monitorType - properties: - monitorType: - type: string - description: The type of resource to monitor. - - $ref: '#/components/schemas/ResourceMonitorSpec' - MemoryResourceMonitorSpec: - allOf: - - type: object - required: - - monitorType - properties: - monitorType: - type: string - description: The type of resource to monitor. - - $ref: '#/components/schemas/ResourceMonitorSpec' - DiskResourceMonitorSpec: - allOf: - - $ref: '#/components/schemas/ResourceMonitorSpec' - - type: object - required: - - monitorType - properties: - monitorType: - type: string - description: The type of resource to monitor. - - type: object - description: Specification for monitoring disk usage. - required: - - path - properties: - path: - type: string - description: The directory path to monitor for disk usage. - ResourceAlertRule: - type: object - properties: - severity: - $ref: '#/components/schemas/ResourceAlertSeverityType' - duration: - type: string - pattern: ^\d+[smh]$ - description: 'Duration is the time over which the average usage is observed before alerting. Format: positive integer followed by ''s'' for seconds, ''m'' for minutes, ''h'' for hours.' - percentage: - type: number - description: The percentage of usage that triggers the alert. - description: - type: string - description: A human-readable description of the alert. - required: - - severity - - duration - - percentage - - description - ResourceAlertSeverityType: - type: string - description: Severity of the alert. - enum: - - Warning - - Critical - - Info - x-enum-varnames: - - ResourceAlertSeverityTypeWarning - - ResourceAlertSeverityTypeCritical - - ResourceAlertSeverityTypeInfo - DeviceLifecycleHookType: - type: string - enum: - - BeforeUpdating - - AfterUpdating - - BeforeRebooting - - AfterRebooting - x-enum-varnames: - - DeviceLifecycleHookBeforeUpdating - - DeviceLifecycleHookAfterUpdating - - DeviceLifecycleHookBeforeRebooting - - DeviceLifecycleHookAfterRebooting - HookAction: - allOf: - - type: object - properties: - if: - type: array - description: Conditions that must be met for the action to be executed. - items: - $ref: '#/components/schemas/HookCondition' - timeout: - type: string - pattern: ^(?:[1-9]\d*)?\d[smh]$ - description: The maximum duration allowed for the action to complete. The duration should be specified as a positive integer followed by a time unit. Supported time units are 's' for seconds, 'm' for minutes, and 'h' for hours. - - oneOf: - - $ref: '#/components/schemas/HookActionRun' - HookCondition: - type: object - oneOf: - - $ref: '#/components/schemas/HookConditionPathOp' - - $ref: '#/components/schemas/HookConditionExpression' - HookConditionPathOp: - type: object - properties: - path: - type: string - description: The absolute path to a file or directory that must have changed as condition for the action to be performed. - op: - type: array - description: The operation(s) on files at or below the path that satisfy the path condition. - items: - $ref: '#/components/schemas/FileOperation' - required: - - path - - op - FileOperation: - type: string - enum: - - created - - removed - - updated - x-enum-varnames: - - FileOperationCreated - - FileOperationRemoved - - FileOperationUpdated - HookConditionExpression: - type: string - description: An expression that must evaluate to true as condition for the action to be performed. - HookActionRun: - type: object - properties: - run: - type: string - description: The command to be executed, including any arguments using standard shell syntax. This field supports multiple commands piped together, as if they were executed under a bash -c context. - envVars: - type: object - description: Environment variable key-value pairs, injected during runtime. - additionalProperties: - type: string - workDir: - type: string - description: The working directory to be used when running the command. - required: - - run - DeviceUpdatePolicySpec: - type: object - description: Specifies the policy for managing device updates, including when updates should be downloaded and applied. - properties: - downloadSchedule: - $ref: '#/components/schemas/UpdateSchedule' - updateSchedule: - $ref: '#/components/schemas/UpdateSchedule' - UpdateSchedule: - type: object - description: Defines the schedule for automatic downloading and updates, including timing and optional timeout. - properties: - timeZone: - $ref: '#/components/schemas/TimeZone' - at: - $ref: '#/components/schemas/CronExpression' - startGraceDuration: - $ref: '#/components/schemas/Duration' - required: - - at - - startGraceDuration - TimeZone: - type: string - description: Time zone identifiers follow the IANA format AREA/LOCATION, where AREA represents a continent or ocean, and LOCATION specifies a particular site within that area, for example America/New_York, Europe/Paris. Only unambiguous 3-character time zones are supported ("GMT", "UTC"). - default: Local - CronExpression: - type: string - description: |- - Cron expression format for scheduling times. - The format is `* * * * *`: - Minutes: `*` matches 0-59. - Hours: `*` matches 0-23. - Day of Month: `*` matches 1-31. - Month: `*` matches 1-12. - Day of Week: `*` matches 0-6. - Supported operators: - `*`: Matches any value (e.g., `*` in hours matches every hour). - `-`: Range (e.g., `0-8` for 12 AM to 8 AM). - `,`: List (e.g., `1,12` for 1st and 12th minute). - `/`: Step (e.g., `*/12` for every 12th minute). - Single value (e.g., `8` matches the 8th minute). - Example: `* 0-8,16-23 * * *`. - ImagePullPolicy: - type: string - description: Optional. Defaults to 'IfNotPresent'. When set to 'Always', the image is pulled every time. When set to 'Never', the image must already exist on the device. - enum: - - Always - - IfNotPresent - - Never - x-enum-varnames: - - PullAlways - - PullIfNotPresent - - PullNever - default: IfNotPresent - DeviceList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of Devices. - items: - $ref: '#/components/schemas/Device' - summary: - $ref: '#/components/schemas/DevicesSummary' - description: DeviceList is a list of Devices. - required: - - apiVersion - - kind - - metadata - - items - DeviceOsSpec: - type: object - description: DeviceOsSpec describes the target OS for the device. - properties: - image: - type: string - description: The target OS image name or URL. - required: - - image - DeviceStatus: - type: object - description: DeviceStatus represents information about the status of a device. Status may trail the actual state of a device. - required: - - conditions - - systemInfo - - applications - - applicationsSummary - - resources - - integrity - - config - - os - - updated - - summary - - lifecycle - properties: - conditions: - type: array - description: Conditions represent the observations of a the current state of a device. - items: - $ref: '#/components/schemas/Condition' - systemInfo: - $ref: '#/components/schemas/DeviceSystemInfo' - systemd: - type: array - description: List of systemd unit statuses. - items: - $ref: '#/components/schemas/SystemdUnitStatus' - applications: - type: array - description: List of device application statuses. - items: - $ref: '#/components/schemas/DeviceApplicationStatus' - applicationsSummary: - $ref: '#/components/schemas/DeviceApplicationsSummaryStatus' - resources: - $ref: '#/components/schemas/DeviceResourceStatus' - integrity: - $ref: '#/components/schemas/DeviceIntegrityStatus' - config: - $ref: '#/components/schemas/DeviceConfigStatus' - os: - $ref: '#/components/schemas/DeviceOsStatus' - updated: - $ref: '#/components/schemas/DeviceUpdatedStatus' - summary: - $ref: '#/components/schemas/DeviceSummaryStatus' - lastSeen: - type: string - description: 'The last time the device was seen by the service (NOTE: this property is not returned by the API).' - format: date-time - x-go-json-ignore: true - lifecycle: - $ref: '#/components/schemas/DeviceLifecycleStatus' - dependencySync: - $ref: '#/components/schemas/DependencySyncStatus' - additionalProperties: false - DeviceLastSeen: - type: object - description: DeviceLastSeen represents the last seen timestamp of a device. - required: - - lastSeen - properties: - lastSeen: - type: string - description: The last time the device was seen by the service. - format: date-time - DeviceSystemInfo: - required: - - architecture - - bootID - - operatingSystem - - agentVersion - type: object - description: System information collected from the device. - properties: - architecture: - type: string - description: The Architecture reported by the device. - bootID: - type: string - description: Boot ID reported by the device. - operatingSystem: - type: string - description: The Operating System reported by the device. - agentVersion: - type: string - description: The Agent version. - customInfo: - $ref: '#/components/schemas/CustomDeviceInfo' - additionalProperties: - type: string - description: | - Optional system attributes exposed by the agent. - Each key corresponds to a configurable internal capability. - CustomDeviceInfo: - type: object - description: User-defined information about the device. - additionalProperties: - type: string - description: A user-defined custom property value. - SystemdUnitStatus: - type: object - required: - - unit - - description - - enableState - - loadState - - activeState - - subState - properties: - unit: - type: string - description: The unit name (e.g., "sshd.service"). - example: sshd.service - description: - type: string - description: The human-readable description for the unit. - maxLength: 2048 - example: OpenSSH server daemon - enableState: - $ref: '#/components/schemas/SystemdEnableStateType' - loadState: - $ref: '#/components/schemas/SystemdLoadStateType' - activeState: - $ref: '#/components/schemas/SystemdActiveStateType' - subState: - type: string - description: The low-level, unit-type-specific state. - maxLength: 64 - pattern: ^[a-z0-9-]+$ - example: running - SystemdEnableStateType: - type: string - description: The enable state of the unit file. - enum: - - enabled - - enabled-runtime - - linked - - linked-runtime - - alias - - masked - - masked-runtime - - static - - disabled - - indirect - - generated - - transient - - bad - - unknown - - '' - x-enum-varnames: - - SystemdEnableStateEnabled - - SystemdEnableStateEnabledRuntime - - SystemdEnableStateLinked - - SystemdEnableStateLinkedRuntime - - SystemdEnableStateAlias - - SystemdEnableStateMasked - - SystemdEnableStateMaskedRuntime - - SystemdEnableStateStatic - - SystemdEnableStateDisabled - - SystemdEnableStateIndirect - - SystemdEnableStateGenerated - - SystemdEnableStateTransient - - SystemdEnableStateBad - - SystemdEnableStateUnknown - - SystemdEnableStateEmpty - SystemdLoadStateType: - type: string - description: The load state of the unit file. - enum: - - stub - - loaded - - not-found - - bad-setting - - error - - merged - - masked - - unknown - x-enum-varnames: - - SystemdLoadStateStub - - SystemdLoadStateLoaded - - SystemdLoadStateNotFound - - SystemdLoadStateBadSetting - - SystemdLoadStateError - - SystemdLoadStateMerged - - SystemdLoadStateMasked - - SystemdLoadStateUnknown - SystemdActiveStateType: - type: string - description: The high-level unit activation state. - enum: - - active - - reloading - - inactive - - failed - - activating - - deactivating - - maintenance - - refreshing - - unknown - x-enum-varnames: - - SystemdActiveStateActive - - SystemdActiveStateReloading - - SystemdActiveStateInactive - - SystemdActiveStateFailed - - SystemdActiveStateActivating - - SystemdActiveStateDeactivating - - SystemdActiveStateMaintenance - - SystemdActiveStateRefreshing - - SystemdActiveStateUnknown - DeviceApplicationStatus: - type: object - required: - - name - - ready - - restarts - - status - - embedded - - appType - properties: - name: - type: string - description: Human readable name of the application. - ready: - type: string - description: The number of containers which are ready in the application. - restarts: - type: integer - description: Number of restarts observed for the application. - status: - $ref: '#/components/schemas/ApplicationStatusType' - embedded: - type: boolean - description: Whether the application is embedded in the bootc image. - appType: - $ref: '#/components/schemas/AppType' - runAs: - type: string - description: The username of the system user this application is runing under. If blank, the application is run as the same user as the agent (generally root). - x-go-type: Username - x-go-type-skip-optional-pointer: true - volumes: - type: array - description: Status of volumes used by this application. - items: - $ref: '#/components/schemas/ApplicationVolumeStatus' - ApplicationVolumeStatus: - type: object - description: Status of a volume used by an application. - required: - - name - - reference - properties: - name: - type: string - description: Name of the volume. - reference: - type: string - description: Reference to the deployed OCI-compliant image or artifact backing the volume. - DeviceApplicationsSummaryStatus: - type: object - description: A summary of the health of applications on the device. - required: - - status - properties: - status: - $ref: '#/components/schemas/ApplicationsSummaryStatusType' - info: - type: string - description: Human readable information detailing the last application transition. - ApplicationsSummaryStatusType: - type: string - description: Status of all applications on the device. - enum: - - Healthy - - Degraded - - Error - - Unknown - - NoApplications - x-enum-varnames: - - ApplicationsSummaryStatusHealthy - - ApplicationsSummaryStatusDegraded - - ApplicationsSummaryStatusError - - ApplicationsSummaryStatusUnknown - - ApplicationsSummaryStatusNoApplications - ApplicationStatusType: - type: string - description: Status of a single application on the device. - enum: - - Preparing - - Starting - - Running - - Error - - Unknown - - Completed - x-enum-varnames: - - ApplicationStatusPreparing - - ApplicationStatusStarting - - ApplicationStatusRunning - - ApplicationStatusError - - ApplicationStatusUnknown - - ApplicationStatusCompleted - DeviceOsStatus: - type: object - description: Current status of the device OS. - required: - - image - - imageDigest - properties: - image: - type: string - description: Version of the OS image. - imageDigest: - type: string - description: The digest of the OS image (e.g. sha256:a0...). - DeviceConfigStatus: - type: object - description: Current status of the device config. - required: - - renderedVersion - properties: - renderedVersion: - type: string - description: Rendered version of the device config. - DeviceSummaryStatus: - type: object - description: A summary of the health of the device hardware and operating system resources. - required: - - status - properties: - status: - $ref: '#/components/schemas/DeviceSummaryStatusType' - info: - type: string - description: Human readable information detailing the last device status transition. - DeviceSummaryStatusType: - type: string - description: Status of the device. - enum: - - Online - - Degraded - - Error - - Rebooting - - PoweredOff - - Unknown - - AwaitingReconnect - - ConflictPaused - x-enum-varnames: - - DeviceSummaryStatusOnline - - DeviceSummaryStatusDegraded - - DeviceSummaryStatusError - - DeviceSummaryStatusRebooting - - DeviceSummaryStatusPoweredOff - - DeviceSummaryStatusUnknown - - DeviceSummaryStatusAwaitingReconnect - - DeviceSummaryStatusConflictPaused - DeviceUpdatedStatus: - type: object - description: Current status of the device update. - required: - - status - properties: - status: - $ref: '#/components/schemas/DeviceUpdatedStatusType' - info: - type: string - description: Human readable information about the last device update transition. - DeviceUpdatedStatusType: - type: string - description: Status type of the device update. - enum: - - UpToDate - - OutOfDate - - Updating - - Unknown - x-enum-varnames: - - DeviceUpdatedStatusUpToDate - - DeviceUpdatedStatusOutOfDate - - DeviceUpdatedStatusUpdating - - DeviceUpdatedStatusUnknown - DeviceLifecycleStatus: - type: object - required: - - status - properties: - status: - $ref: '#/components/schemas/DeviceLifecycleStatusType' - info: - type: string - description: Human readable information about the device lifecycle status. - description: Current status of the device lifecycle. - DeviceIntegrityCheckStatus: - type: object - description: DeviceIntegrityCheckStatus represents the status of the integrity check performed on the device. - required: - - status - properties: - status: - $ref: '#/components/schemas/DeviceIntegrityCheckStatusType' - info: - type: string - description: Human-readable information about the integrity check status. - DeviceIntegrityCheckStatusType: - type: string - description: Status of the integrity check performed on the device. - enum: - - Unknown - - Unsupported - - Failed - - Verified - x-enum-varnames: - - DeviceIntegrityCheckStatusUnknown - - DeviceIntegrityCheckStatusUnsupported - - DeviceIntegrityCheckStatusFailed - - DeviceIntegrityCheckStatusVerified - DeviceLifecycleStatusType: - type: string - enum: - - Unknown - - Enrolled - - Decommissioning - - Decommissioned - x-enum-varnames: - - DeviceLifecycleStatusUnknown - - DeviceLifecycleStatusEnrolled - - DeviceLifecycleStatusDecommissioning - - DeviceLifecycleStatusDecommissioned - description: Status type of the device lifecycle. - DeviceIntegrityStatus: - type: object - description: Summary status of the integrity of the device. - required: - - status - properties: - deviceIdentity: - $ref: '#/components/schemas/DeviceIntegrityCheckStatus' - tpm: - $ref: '#/components/schemas/DeviceIntegrityCheckStatus' - status: - $ref: '#/components/schemas/DeviceIntegrityStatusSummaryType' - info: - type: string - description: Human readable information about the last integrity transition. - lastVerified: - type: string - format: date-time - description: Timestamp of the last integrity verification. - DeviceIntegrityStatusSummaryType: - type: string - description: Status of the integrity of the device. - enum: - - Verified - - Failed - - Unknown - - Unsupported - x-enum-varnames: - - DeviceIntegrityStatusVerified - - DeviceIntegrityStatusFailed - - DeviceIntegrityStatusUnknown - - DeviceIntegrityStatusUnsupported - DeviceResourceStatus: - type: object - description: Current status of the resources of the device. - required: - - cpu - - memory - - disk - properties: - cpu: - $ref: '#/components/schemas/DeviceResourceStatusType' - memory: - $ref: '#/components/schemas/DeviceResourceStatusType' - disk: - $ref: '#/components/schemas/DeviceResourceStatusType' - DeviceResourceStatusType: - type: string - description: The types of resource statuses. - enum: - - Healthy - - Warning - - Critical - - Error - - Unknown - x-enum-varnames: - - DeviceResourceStatusHealthy - - DeviceResourceStatusWarning - - DeviceResourceStatusCritical - - DeviceResourceStatusError - - DeviceResourceStatusUnknown - EnrollmentRequestApproval: - type: object - description: EnrollmentRequestApproval contains information about the approval of a device enrollment request. - properties: - labels: - type: object - additionalProperties: - type: string - description: Labels to set on the device. If replaceLabels is false (default), labels are merged with agent-provided labels from the enrollment request. If replaceLabels is true, labels are used as the complete final set ignoring agent-provided labels. - replaceLabels: - type: boolean - default: false - description: Controls whether labels are merged or replaced during approval. If false (default), labels are merged with agent-provided labels from the enrollment request. If true, labels are used as the complete final set and agent-provided labels are ignored. - approved: - type: boolean - description: Indicates whether the request has been approved. - required: - - approved - EnrollmentRequestApprovalStatus: - description: EnrollmentRequestApprovalStatus represents information about the status of a device enrollment request approval. - allOf: - - $ref: '#/components/schemas/EnrollmentRequestApproval' - - type: object - description: EnrollmentRequestApprovalStatus contains information about the status of approval of a device enrollment request. - properties: - approvedBy: - type: string - description: The name of the approver. - approvedAt: - type: string - format: date-time - description: The time at which the request was approved. - required: - - approvedBy - - approvedAt - EnrollmentServiceAuth: - type: object - description: EnrollmentServiceAuth contains the client authentication information for a Flight Control enrollment service. - properties: - client-certificate-data: - type: string - description: ClientCertificateData contains PEM-encoded data from a client cert file for TLS. - client-key-data: - type: string - description: ClientKeyData contains PEM-encoded data from a client key file for TLS. - required: - - client-certificate-data - - client-key-data - EnrollmentServiceService: - type: object - description: EnrollmentServiceService contains information about connecting to a Flight Control enrollment service. - properties: - certificate-authority-data: - type: string - description: CertificateAuthorityData contains PEM-encoded certificate authority certificates. - server: - type: string - description: Server is the address of the Flight Control enrollment service (https://hostname:port). - required: - - certificate-authority-data - - server - EnrollmentService: - type: object - description: EnrollmentService contains information about how to communicate with a Flight Control enrollment service. - properties: - authentication: - $ref: '#/components/schemas/EnrollmentServiceAuth' - service: - $ref: '#/components/schemas/EnrollmentServiceService' - enrollment-ui-endpoint: - type: string - description: The URL of the UI that the agent uses to print the QR code and link for enrolling the device. - required: - - authentication - - service - - enrollment-ui-endpoint - EnrollmentConfig: - type: object - properties: - enrollment-service: - $ref: '#/components/schemas/EnrollmentService' - required: - - enrollment-service - EnrollmentRequest: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/EnrollmentRequestSpec' - status: - $ref: '#/components/schemas/EnrollmentRequestStatus' - required: - - apiVersion - - kind - - metadata - - spec - description: EnrollmentRequest represents a request for approval to enroll a device. - example: - apiVersion: flightctl.io/v1beta1 - kind: EnrollmentRequest - metadata: - name: 13d632d86373caaeda64da4052f957faa742fc7050026748bc79065c8819d1b0 - spec: - csr: | - -----BEGIN CERTIFICATE REQUEST----- - MIIBBjCBrQIBADBLMUkwRwYDVQQDE0AxM2Q2MzJkODYzNzNjYWFlZGE2NGRhNDA1 - MmY5NTdmYWE3NDJmYzcwNTAwMjY3NDhiYzc5MDY1Yzg4MTlkMWIwMFkwEwYHKoZI - zj0CAQYIKoZIzj0DAQcDQgAEHBMC30NRJTJ3NWOlei9YWkBM/MzoNDGyMRKuzE0/ - cKkyXVJexHq0xIn22YCNN3ZDNxxwW6LlQg3ijGnvStQOb6AAMAoGCCqGSM49BAMC - A0gAMEUCIQDSrxi6krdCKcLChdMB3w7IqmDlZhREGbHMCESVn6ssPAIgZL+QrJtw - 8R+r4piaYvZktrsk3yCIuz3hI7loYmXP3d8= - -----END CERTIFICATE REQUEST----- - EnrollmentRequestList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of EnrollmentRequest. - items: - $ref: '#/components/schemas/EnrollmentRequest' - required: - - apiVersion - - kind - - metadata - - items - description: EnrollmentRequestList is a list of EnrollmentRequest. - EnrollmentRequestSpec: - required: - - csr - type: object - properties: - csr: - type: string - description: The PEM-encoded PKCS#10 certificate signing request. - deviceStatus: - $ref: '#/components/schemas/DeviceStatus' - labels: - type: object - additionalProperties: - type: string - description: A set of labels that the service will apply to this device when its enrollment is approved. - knownRenderedVersion: - type: string - description: The rendered version of the device from desired.json (optional). - description: EnrollmentRequestSpec is a description of a EnrollmentRequest's target state. - EnrollmentRequestStatus: - type: object - properties: - certificate: - type: string - description: The PEM-encoded signed certificate. - conditions: - type: array - description: Current state of the EnrollmentRequest. - items: - $ref: '#/components/schemas/Condition' - approval: - $ref: '#/components/schemas/EnrollmentRequestApprovalStatus' - required: - - conditions - description: EnrollmentRequestStatus represents information about the status of a EnrollmentRequest. - ResourceSync: - type: object - description: ResourceSync represents a reference to one or more files in a repository to sync to resource definitions. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/ResourceSyncSpec' - status: - $ref: '#/components/schemas/ResourceSyncStatus' - required: - - apiVersion - - kind - - metadata - - spec - example: - apiVersion: flightctl.io/v1beta1 - kind: ResourceSync - metadata: - name: example-sync - spec: - repository: example-repo - targetRevision: main - path: /resources - status: - conditions: [] - ResourceSyncSpec: - type: object - description: ResourceSyncSpec describes the file(s) to sync from a repository. - properties: - type: - $ref: '#/components/schemas/ResourceSyncType' - repository: - type: string - minLength: 1 - description: The name of the repository resource to use as the sync source. - targetRevision: - type: string - minLength: 1 - maxLength: 244 - example: main - description: The desired revision in the repository. - path: - type: string - minLength: 0 - maxLength: 2048 - example: /resources - description: The path of a file or directory in the repository. If a directory, the directory should contain only resource definitions with no subdirectories. Each file should contain the definition of one or more resources. - required: - - repository - - targetRevision - - path - ResourceSyncType: - type: string - description: The type of resources this ResourceSync manages. Defaults to fleet if not specified. - default: fleet - enum: - - fleet - - catalog - x-enum-varnames: - - ResourceSyncTypeFleet - - ResourceSyncTypeCatalog - ResourceSyncStatus: - type: object - properties: - observedCommit: - type: string - description: The last commit hash that was synced. - observedGeneration: - type: integer - format: int64 - description: The last generation that was synced. - conditions: - type: array - description: Current state of a resourcesync. - items: - $ref: '#/components/schemas/Condition' - required: - - conditions - description: ResourceSyncStatus represents information about the status of a ResourceSync. - ResourceSyncList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of resourcesync. - items: - $ref: '#/components/schemas/ResourceSync' - required: - - apiVersion - - kind - - metadata - - items - Fleet: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/FleetSpec' - status: - $ref: '#/components/schemas/FleetStatus' - required: - - apiVersion - - kind - - metadata - - spec - additionalProperties: false - description: Fleet represents a set of devices. - FleetList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of Fleets. - items: - $ref: '#/components/schemas/Fleet' - required: - - apiVersion - - kind - - metadata - - items - description: FleetList is a list of Fleets. - DisruptionBudget: - type: object - properties: - groupBy: - type: array - items: - type: string - pattern: ^([A-Za-z0-9][-A-Za-z0-9_/.]*)?[A-Za-z0-9]$ - description: List of label keys to perform grouping for the disruption budget. - minAvailable: - type: integer - minimum: 1 - description: The maximum number of unavailable devices allowed during rollout. - maxUnavailable: - minimum: 1 - type: integer - description: The minimum number of required available devices during rollout. - description: DisruptionBudget defines the level of allowed disruption when rollout is in progress. - Percentage: - type: string - description: Percentage is the string format representing percentage string. - Batch: - type: object - properties: - selector: - $ref: '#/components/schemas/LabelSelector' - successThreshold: - $ref: '#/components/schemas/Percentage' - limit: - description: The maximum number or percentage of devices to update in the batch. - oneOf: - - $ref: '#/components/schemas/Percentage' - - type: integer - minimum: 1 - description: Batch is an element in batch sequence. - Duration: - type: string - pattern: ^(?:[1-9]\d*)?\d[smh]$ - description: 'The maximum duration allowed for the action to complete. The duration should be specified as a positive integer followed by a time unit. Supported time units are: `s` for seconds, `m` for minutes, `h` for hours.' - RolloutStrategy: - type: string - description: The strategy of choice for device selection in rollout policy. - enum: - - BatchSequence - BatchSequence: - type: object - description: BatchSequence defines the list of batches to be executed in sequence. - required: - - strategy - properties: - strategy: - $ref: '#/components/schemas/RolloutStrategy' - sequence: - type: array - description: A list of batch definitions. - minItems: 1 - items: - $ref: '#/components/schemas/Batch' - RolloutDeviceSelection: - type: object - description: Describes how to select devices for rollout. - oneOf: - - $ref: '#/components/schemas/BatchSequence' - discriminator: - propertyName: strategy - mapping: - BatchSequence: '#/components/schemas/BatchSequence' - RolloutPolicy: - type: object - properties: - disruptionBudget: - $ref: '#/components/schemas/DisruptionBudget' - deviceSelection: - $ref: '#/components/schemas/RolloutDeviceSelection' - successThreshold: - $ref: '#/components/schemas/Percentage' - defaultUpdateTimeout: - $ref: '#/components/schemas/Duration' - description: RolloutPolicy is the rollout policy of the fleet. - FleetSpec: - type: object - description: FleetSpec is a description of a fleet's target state. - properties: - selector: - $ref: '#/components/schemas/LabelSelector' - rolloutPolicy: - $ref: '#/components/schemas/RolloutPolicy' - template: - type: object - description: The template for the devices in the fleet. - properties: - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/DeviceSpec' - required: - - spec - additionalProperties: false - required: - - template - additionalProperties: false - DeviceSpec: - type: object - description: DeviceSpec describes a device. - properties: - updatePolicy: - $ref: '#/components/schemas/DeviceUpdatePolicySpec' - os: - $ref: '#/components/schemas/DeviceOsSpec' - config: - type: array - description: List of config providers. - items: - $ref: '#/components/schemas/ConfigProviderSpec' - applications: - type: array - description: List of application providers. - items: - $ref: '#/components/schemas/ApplicationProviderSpec' - systemd: - type: object - description: The systemd services to monitor. - properties: - matchPatterns: - type: array - description: A list of match patterns. - items: - type: string - description: A single systemd unit name, with or without suffix, or a shell-style glob pattern to match against currently loaded units. - pattern: ^[0-9a-zA-Z:\-_.\\\[\]!\-\*\?]+(@[0-9a-zA-Z:\-_.\\\[\]!\-\*\?]+)?(\.[a-zA-Z\[\]!\-\*\?]+)?$ - maxLength: 256 - additionalProperties: false - resources: - type: array - description: Array of resource monitor configurations. - items: - $ref: '#/components/schemas/ResourceMonitor' - consoles: - type: array - description: The list of active console sessions. - items: - $ref: '#/components/schemas/DeviceConsole' - decommissioning: - $ref: '#/components/schemas/DeviceDecommission' - FleetRolloutStatus: - type: object - description: FleetRolloutStatus represents information about the status of a fleet rollout. - properties: - currentBatch: - type: integer - description: The batch number currently being rolled out. - DependencySyncStatus: - type: object - description: DependencySyncStatus represents the synchronization fingerprints for external dependencies of a device, captured at render time. - properties: - configRefs: - type: array - description: Per-config-provider fingerprint and last update time, set when the device renders. - items: - $ref: '#/components/schemas/DependencySyncConfigRefStatus' - additionalProperties: false - DependencySyncConfigRefStatus: - type: object - description: DependencySyncConfigRefStatus represents the rendered fingerprint for a single config provider's external dependency. - required: - - configProviderName - properties: - configProviderName: - type: string - description: The name of the config provider (e.g. the git or HTTP config source name). - fingerprint: - type: string - description: The fingerprint of the rendered content (e.g. git commit SHA, sha256 of HTTP body, K8s secret ResourceVersion). - lastUpdatedAt: - type: string - format: date-time - description: The last time the fingerprint changed (i.e. the dependency content was updated). - additionalProperties: false - FleetStatus: - type: object - description: FleetStatus represents information about the status of a fleet. Status may trail the actual state of a fleet, especially if devices of a fleet have not contacted the management service in a while. - properties: - rollout: - $ref: '#/components/schemas/FleetRolloutStatus' - conditions: - type: array - description: Current state of the fleet. - items: - $ref: '#/components/schemas/Condition' - devicesSummary: - $ref: '#/components/schemas/DevicesSummary' - required: - - conditions - additionalProperties: false - DevicesSummary: - type: object - description: A summary of the devices in the fleet returned when fetching a single Fleet. - required: - - total - - applicationStatus - - summaryStatus - - updateStatus - properties: - total: - type: integer - format: int64 - description: The total number of devices in the fleet. - applicationStatus: - type: object - default: {} - additionalProperties: - type: integer - format: int64 - description: A breakdown of the devices in the fleet by "application" status. - summaryStatus: - type: object - default: {} - additionalProperties: - type: integer - format: int64 - description: A breakdown of the devices in the fleet by "summary" status. - updateStatus: - type: object - default: {} - additionalProperties: - type: integer - format: int64 - description: A breakdown of the devices in the fleet by "updated" status. - TemplateVersion: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/TemplateVersionSpec' - status: - $ref: '#/components/schemas/TemplateVersionStatus' - required: - - apiVersion - - kind - - metadata - - spec - description: TemplateVersion represents a version of a template. - TemplateVersionSpec: - type: object - description: TemplateVersionSpec describes a version of a device template. - properties: - fleet: - type: string - description: The fleet whose template this refers to. - required: - - fleet - TemplateVersionStatus: - description: TemplateVersionStatus represents information about the status of a template version. - allOf: - - $ref: '#/components/schemas/DeviceSpec' - - type: object - properties: - updatedAt: - type: string - description: The time at which the template was last updated. - format: date-time - conditions: - type: array - description: Current state of the device. - items: - $ref: '#/components/schemas/Condition' - required: - - conditions - TemplateVersionList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of TemplateVersions. - items: - $ref: '#/components/schemas/TemplateVersion' - required: - - apiVersion - - kind - - metadata - - items - description: TemplateVersionList is a list of TemplateVersions. - AuthConfig: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - providers: - type: array - description: List of all available authentication providers. - items: - $ref: '#/components/schemas/AuthProvider' - defaultProvider: - type: string - description: Name of the default authentication provider. - organizationsEnabled: - type: boolean - description: Whether organizations are enabled for authentication. - required: - - apiVersion - TokenRequest: - type: object - required: - - grant_type - - client_id - properties: - grant_type: - type: string - enum: - - refresh_token - - authorization_code - description: OAuth2 grant type. - x-oapi-codegen-extra-tags: - form: grant_type - client_id: - type: string - minLength: 1 - description: OAuth2 client identifier. - x-oapi-codegen-extra-tags: - form: client_id - refresh_token: - type: string - nullable: true - description: Refresh token for refresh_token grant. - x-oapi-codegen-extra-tags: - form: refresh_token,omitempty - code: - type: string - nullable: true - description: Authorization code for authorization_code grant. - x-oapi-codegen-extra-tags: - form: code,omitempty - scope: - type: string - nullable: true - description: OAuth2 scope. - x-oapi-codegen-extra-tags: - form: scope,omitempty - code_verifier: - type: string - nullable: true - description: PKCE code verifier. - x-oapi-codegen-extra-tags: - form: code_verifier,omitempty - redirect_uri: - type: string - nullable: true - description: OAuth2 redirect URI (required for authorization_code grant if included in authorization request). - x-oapi-codegen-extra-tags: - form: redirect_uri,omitempty - description: OAuth2 token request - additionalProperties: false - TokenResponse: - type: object - properties: - access_token: - type: string - description: OAuth2 access token. - token_type: - type: string - enum: - - Bearer - description: Token type. - id_token: - type: string - description: OIDC ID token (JWT). Present when using OIDC with openid scope. - refresh_token: - type: string - description: OAuth2 refresh token. - expires_in: - type: integer - description: Token expiration time in seconds. - error: - type: string - description: OAuth2 error code. - error_description: - type: string - description: OAuth2 error description. - description: OAuth2 token response - additionalProperties: false - UserInfoResponse: - type: object - properties: - sub: - type: string - description: Subject identifier. - preferred_username: - type: string - description: Preferred username. - name: - type: string - description: Full name. - organizations: - type: array - items: - $ref: '#/components/schemas/Organization' - description: User organizations. - error: - type: string - description: Error code. - description: OIDC UserInfo response - additionalProperties: false - ListMeta: - type: object - properties: - continue: - type: string - description: May be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message. - remainingItemCount: - type: integer - description: The number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact. - format: int64 - description: ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. - ObjectMeta: - type: object - properties: - creationTimestamp: - type: string - description: The time the object was created. - format: date-time - deletionTimestamp: - type: string - description: The time the object will be deleted. - format: date-time - name: - type: string - maxLength: 253 - description: The name of the object. - labels: - type: object - description: Map of string keys and values that can be used to organize and categorize (scope and select) objects. - additionalProperties: - type: string - maxLength: 63 - generation: - type: integer - description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. - format: int64 - owner: - type: string - description: A resource that owns this resource, in "kind/name" format. - annotations: - type: object - additionalProperties: - type: string - description: Properties set by the service. - resourceVersion: - type: string - description: An opaque string that identifies the server's internal version of an object. - description: ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. - MatchExpression: - type: object - properties: - key: - type: string - description: The label key that the selector applies to. - operator: - type: string - description: The operation to apply when matching. - enum: - - In - - NotIn - - Exists - - DoesNotExist - values: - type: array - description: The list of values to match. - items: - type: string - required: - - key - - operator - MatchExpressions: - type: array - description: A list of match expressions. - minItems: 1 - items: - $ref: '#/components/schemas/MatchExpression' - LabelSelector: - type: object - description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. Empty/null label selectors match nothing. - properties: - matchLabels: - type: object - description: A map of {key,value} pairs. - additionalProperties: - type: string - matchExpressions: - $ref: '#/components/schemas/MatchExpressions' - LabelList: - type: array - items: - type: string - description: | - A list of distinct labels, where each item is formatted as "key=value". - example: - - environment=production - - region=us-east-1 - - tier=backend - Status: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - code: - type: integer - format: int32 - description: Suggested HTTP return code for this status, 0 if not set. - message: - type: string - description: A human-readable description of the status of this operation. - reason: - type: string - description: A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it. - status: - type: string - description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.' - description: Status is a return value for calls that don't return other objects. - required: - - apiVersion - - kind - - status - - code - - reason - - message - ConditionBase: - type: object - description: Base condition structure following Kubernetes API conventions. Use with allOf to add a specific type enum. - required: - - status - - lastTransitionTime - - reason - - message - properties: - status: - $ref: '#/components/schemas/ConditionStatus' - observedGeneration: - type: integer - format: int64 - description: The .metadata.generation that the condition was set based upon. - lastTransitionTime: - type: string - format: date-time - description: The last time the condition transitioned from one status to another. - message: - type: string - description: Human readable message indicating details about last transition. - reason: - type: string - description: A (brief) reason for the condition's last transition. - Condition: - description: Condition contains details for one aspect of the current state of this API Resource. - allOf: - - $ref: '#/components/schemas/ConditionBase' - - type: object - required: - - type - properties: - type: - $ref: '#/components/schemas/ConditionType' - ConditionType: - type: string - description: Type of condition in CamelCase. - enum: - - Approved - - TPMVerified - - Approved - - Denied - - Failed - - TPMVerified - - Accessible - - Accessible - - ResourceParsed - - Synced - - Valid - - RolloutInProgress - - Updating - - SpecValid - - MultipleOwners - - DeviceDecommissioning - x-enum-varnames: - - EnrollmentRequestApproved - - EnrollmentRequestTPMVerified - - CertificateSigningRequestApproved - - CertificateSigningRequestDenied - - CertificateSigningRequestFailed - - CertificateSigningRequestTPMVerified - - RepositoryAccessible - - ResourceSyncAccessible - - ResourceSyncResourceParsed - - ResourceSyncSynced - - FleetValid - - FleetRolloutInProgress - - DeviceUpdating - - DeviceSpecValid - - DeviceMultipleOwners - - DeviceDecommissioning - ConditionStatus: - type: string - description: Status of the condition, one of True, False, Unknown. - enum: - - 'True' - - 'False' - - Unknown - x-enum-varnames: - - ConditionStatusTrue - - ConditionStatusFalse - - ConditionStatusUnknown - CertificateSigningRequest: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/CertificateSigningRequestSpec' - status: - $ref: '#/components/schemas/CertificateSigningRequestStatus' - required: - - apiVersion - - kind - - metadata - - spec - description: CertificateSigningRequest represents a request for a signed certificate from the CA. - CertificateSigningRequestList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of CertificateSigningRequest. - items: - $ref: '#/components/schemas/CertificateSigningRequest' - required: - - apiVersion - - kind - - metadata - - items - description: CertificateSigningRequestList is a list of CertificateSigningRequest. - CertificateSigningRequestSpec: - description: Wrapper around a user-created CSR, modeled on kubernetes io.k8s.api.certificates.v1.CertificateSigningRequestSpec. - properties: - expirationSeconds: - description: Requested duration of validity for the certificate. - format: int32 - type: integer - extra: - additionalProperties: - items: - type: string - type: array - description: Extra attributes of the user that created the CSR, populated by the API server on creation and immutable. - type: object - request: - description: The base64-encoded PEM-encoded PKCS#10 CSR. Matches the spec.request field in a kubernetes CertificateSigningRequest resource. - format: byte - type: string - signerName: - description: Indicates the requested signer, and is a qualified name. - type: string - minLength: 1 - uid: - description: UID of the user that created the CSR, populated by the API server on creation and immutable. - type: string - usages: - description: Usages specifies a set of key usages requested in the issued certificate. - items: - type: string - type: array - username: - description: Name of the user that created the CSR, populated by the API server on creation and immutable. - type: string - required: - - request - - signerName - type: object - CertificateSigningRequestStatus: - description: Indicates approval/denial/failure status of the CSR, and contains the issued certificate if any exists. - properties: - certificate: - description: The issued signed certificate, immutable once populated. - format: byte - type: string - conditions: - type: array - description: Conditions applied to the request. Known conditions are Approved, Denied, and Failed. - items: - $ref: '#/components/schemas/Condition' - required: - - conditions - type: object - Version: - type: object - properties: - version: - description: Git version of the service. - type: string - required: - - version - Event: - type: object - description: Event represents a single event that occurred in the system. - required: - - apiVersion - - kind - - metadata - - involvedObject - - reason - - message - - type - - source - - actor - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - involvedObject: - $ref: '#/components/schemas/ObjectReference' - reason: - type: string - description: A short, machine-readable string that describes the reason for the event. - enum: - - ResourceCreated - - ResourceCreationFailed - - ResourceUpdated - - ResourceUpdateFailed - - ResourceDeleted - - ResourceDeletionFailed - - DeviceDecommissioned - - DeviceDecommissionFailed - - DeviceCPUCritical - - DeviceCPUWarning - - DeviceCPUNormal - - DeviceMemoryCritical - - DeviceMemoryWarning - - DeviceMemoryNormal - - DeviceDiskCritical - - DeviceDiskWarning - - DeviceDiskNormal - - DeviceApplicationError - - DeviceApplicationDegraded - - DeviceApplicationHealthy - - DeviceDisconnected - - DeviceIsRebooting - - DeviceConflictPaused - - DeviceConflictResolved - - DeviceConnected - - DeviceContentUpToDate - - DeviceContentOutOfDate - - DeviceContentUpdating - - DeviceUpdateFailed - - DeviceVulnerabilityCVECritical - - DeviceVulnerabilityCVEResolved - - DeviceVulnerabilityCVEWarning - - DeviceOSImageChanged - - EnrollmentRequestApproved - - EnrollmentRequestApprovalFailed - - DeviceMultipleOwnersDetected - - DeviceMultipleOwnersResolved - - DeviceSpecValid - - DeviceSpecInvalid - - InternalTaskFailed - - InternalTaskPermanentlyFailed - - RepositoryAccessible - - RepositoryInaccessible - - ReferencedRepositoryUpdated - - FleetValid - - FleetInvalid - - FleetRolloutCreated - - FleetRolloutStarted - - FleetRolloutFailed - - FleetRolloutCompleted - - FleetRolloutBatchDispatched - - FleetRolloutDeviceSelected - - FleetRolloutBatchCompleted - - ResourceSyncCommitDetected - - ResourceSyncAccessible - - ResourceSyncInaccessible - - ResourceSyncParsed - - ResourceSyncParsingFailed - - ResourceSyncSynced - - ResourceSyncSyncFailed - - DependencyChangeDetected - - DependencySyncProbeFailed - - SystemRestored - message: - type: string - description: A human-readable description of the status of this operation. - details: - $ref: '#/components/schemas/EventDetails' - type: - type: string - description: The type of the event. One of Normal, Warning. - enum: - - Normal - - Warning - source: - $ref: '#/components/schemas/EventSource' - actor: - type: string - description: 'The name of the user or service that triggered the event. The value will be prefixed by either user: (for human users) or service: (for automated services).' - EventSource: - type: object - description: The component that is responsible for the event. - required: - - component - properties: - component: - type: string - description: The name of the component that is responsible for the event. - ObjectReference: - type: object - description: A reference to a resource. - required: - - kind - - name - properties: - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - name: - type: string - description: The name of the referenced object. - EventList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of Events. - items: - $ref: '#/components/schemas/Event' - required: - - apiVersion - - kind - - metadata - - items - description: EventList is a list of Events. - EventDetails: - type: object - required: - - detailType - description: Event-specific details, structured based on event type. - discriminator: - propertyName: detailType - mapping: - ResourceUpdated: '#/components/schemas/ResourceUpdatedDetails' - DeviceOwnershipChanged: '#/components/schemas/DeviceOwnershipChangedDetails' - DeviceMultipleOwnersDetected: '#/components/schemas/DeviceMultipleOwnersDetectedDetails' - DeviceMultipleOwnersResolved: '#/components/schemas/DeviceMultipleOwnersResolvedDetails' - InternalTaskFailed: '#/components/schemas/InternalTaskFailedDetails' - InternalTaskPermanentlyFailed: '#/components/schemas/InternalTaskPermanentlyFailedDetails' - ResourceSyncCompleted: '#/components/schemas/ResourceSyncCompletedDetails' - ReferencedRepositoryUpdated: '#/components/schemas/ReferencedRepositoryUpdatedDetails' - FleetRolloutStarted: '#/components/schemas/FleetRolloutStartedDetails' - FleetRolloutFailed: '#/components/schemas/FleetRolloutFailedDetails' - FleetRolloutCompleted: '#/components/schemas/FleetRolloutCompletedDetails' - FleetRolloutBatchDispatched: '#/components/schemas/FleetRolloutBatchDispatchedDetails' - FleetRolloutBatchCompleted: '#/components/schemas/FleetRolloutBatchCompletedDetails' - FleetRolloutDeviceSelected: '#/components/schemas/FleetRolloutDeviceSelectedDetails' - DeviceVulnerabilityCVE: '#/components/schemas/DeviceVulnerabilityCveDetails' - DependencyChangeDetected: '#/components/schemas/DependencyChangeDetectedDetails' - DependencySyncProbeFailed: '#/components/schemas/DependencySyncProbeFailedDetails' - oneOf: - - $ref: '#/components/schemas/ResourceUpdatedDetails' - - $ref: '#/components/schemas/DeviceOwnershipChangedDetails' - - $ref: '#/components/schemas/DeviceMultipleOwnersDetectedDetails' - - $ref: '#/components/schemas/DeviceMultipleOwnersResolvedDetails' - - $ref: '#/components/schemas/InternalTaskFailedDetails' - - $ref: '#/components/schemas/InternalTaskPermanentlyFailedDetails' - - $ref: '#/components/schemas/ResourceSyncCompletedDetails' - - $ref: '#/components/schemas/ReferencedRepositoryUpdatedDetails' - - $ref: '#/components/schemas/FleetRolloutStartedDetails' - - $ref: '#/components/schemas/FleetRolloutFailedDetails' - - $ref: '#/components/schemas/FleetRolloutCompletedDetails' - - $ref: '#/components/schemas/FleetRolloutBatchDispatchedDetails' - - $ref: '#/components/schemas/FleetRolloutBatchCompletedDetails' - - $ref: '#/components/schemas/FleetRolloutDeviceSelectedDetails' - - $ref: '#/components/schemas/DeviceVulnerabilityCveDetails' - - $ref: '#/components/schemas/DependencyChangeDetectedDetails' - - $ref: '#/components/schemas/DependencySyncProbeFailedDetails' - DeviceVulnerabilityCveDetails: - type: object - description: Structured details for per-device CVE vulnerability events. - required: - - detailType - - cveId - properties: - detailType: - type: string - enum: - - DeviceVulnerabilityCVE - description: The type of detail for discriminator purposes. - cveId: - type: string - description: CVE identifier (e.g. CVE-2024-1234). MITRE-style CVE-YYYY-sequence identifier, matching device list filter validation. - pattern: ^CVE-[0-9]{4}-[0-9]{4,}$ - maxLength: 64 - firstImageRef: - type: string - description: Human-readable OS image reference when the CVE was first detected on this device (historical/audit field). - firstImageDigest: - type: string - description: Image digest when the CVE was first detected on this device (historical/audit field, e.g. sha256:...). - ResourceUpdatedDetails: - type: object - required: - - detailType - - updatedFields - properties: - detailType: - type: string - enum: - - ResourceUpdated - description: The type of detail for discriminator purposes. - updatedFields: - type: array - items: - type: string - enum: - - owner - - labels - - spec - - spec.selector - - spec.template - description: List of fields that were updated in the resource. - previousOwner: - type: string - nullable: true - description: The previous owner (if applicable). - newOwner: - type: string - nullable: true - description: The new owner (if applicable). - DeviceOwnershipChangedDetails: - type: object - required: - - detailType - properties: - detailType: - type: string - enum: - - DeviceOwnershipChanged - description: The type of detail for discriminator purposes. - previousOwner: - type: string - nullable: true - description: The previous owner fleet (null if none). - newOwner: - type: string - nullable: true - description: The new owner fleet (null if removed). - DeviceMultipleOwnersDetectedDetails: - type: object - required: - - detailType - - matchingFleets - properties: - detailType: - type: string - enum: - - DeviceMultipleOwnersDetected - description: The type of detail for discriminator purposes. - matchingFleets: - type: array - items: - type: string - description: List of fleet names that match the device. - DeviceMultipleOwnersResolvedDetails: - type: object - required: - - detailType - - resolutionType - properties: - detailType: - type: string - enum: - - DeviceMultipleOwnersResolved - description: The type of detail for discriminator purposes. - resolutionType: - type: string - enum: - - SingleMatch - - NoMatch - - FleetDeleted - description: How the conflict was resolved. - assignedOwner: - type: string - nullable: true - description: The fleet assigned as owner (null if no owner). - previousMatchingFleets: - type: array - items: - type: string - description: List of fleets that previously matched the device. - InternalTaskFailedDetails: - type: object - required: - - detailType - - errorMessage - - originalEvent - properties: - detailType: - type: string - enum: - - InternalTaskFailed - description: The type of detail for discriminator purposes. - errorMessage: - type: string - description: The error message describing the failure. - retryCount: - type: integer - description: Number of times the task has been retried. - originalEvent: - $ref: '#/components/schemas/Event' - InternalTaskPermanentlyFailedDetails: - type: object - required: - - detailType - - errorMessage - - retryCount - - originalEvent - properties: - detailType: - type: string - enum: - - InternalTaskPermanentlyFailed - description: The type of detail for discriminator purposes. - errorMessage: - type: string - description: The error message describing the permanent failure. - retryCount: - type: integer - description: Number of times the task was retried before being marked as permanently failed. - originalEvent: - $ref: '#/components/schemas/Event' - ResourceSyncCompletedDetails: - type: object - required: - - detailType - - commitHash - - changeCount - - errorCount - properties: - detailType: - type: string - enum: - - ResourceSyncCompleted - description: The type of detail for discriminator purposes. - commitHash: - type: string - description: Hash of the last commit. - changeCount: - type: integer - description: Number of changes introduced by this ResourceSync update. - errorCount: - type: integer - description: Number of errors encountered by this ResourceSync update. - FleetRolloutStartedDetails: - type: object - required: - - detailType - - templateVersion - - rolloutStrategy - properties: - detailType: - type: string - enum: - - FleetRolloutStarted - description: The type of detail for discriminator purposes. - templateVersion: - type: string - description: The name of the TemplateVersion that is rolling out. - rolloutStrategy: - type: string - enum: - - None - - Batched - description: Rollout strategy type. - FleetRolloutDeviceSelectedDetails: - type: object - required: - - detailType - - fleetName - - templateVersion - properties: - detailType: - type: string - enum: - - FleetRolloutDeviceSelected - description: The type of detail for discriminator purposes. - fleetName: - type: string - description: The name of the fleet that the device is being selected for. - templateVersion: - type: string - description: The name of the TemplateVersion that the device is being selected to render. - FleetRolloutFailedDetails: - type: object - required: - - detailType - - templateVersion - properties: - detailType: - type: string - enum: - - FleetRolloutFailed - description: The type of detail for discriminator purposes. - templateVersion: - type: string - description: The name of the TemplateVersion that this fleet rollout failed for. - FleetRolloutCompletedDetails: - type: object - required: - - detailType - - templateVersion - properties: - detailType: - type: string - enum: - - FleetRolloutCompleted - description: The type of detail for discriminator purposes. - templateVersion: - type: string - description: The name of the TemplateVersion that this fleet rollout is completed for. - FleetRolloutBatchDispatchedDetails: - type: object - required: - - detailType - - templateVersion - - batch - properties: - detailType: - type: string - enum: - - FleetRolloutBatchDispatched - description: The type of detail for discriminator purposes. - templateVersion: - type: string - description: The name of the TemplateVersion that this batch is rolling out to. - batch: - type: string - description: The batch within the fleet rollout. - FleetRolloutBatchCompletedDetails: - type: object - required: - - detailType - - templateVersion - - batch - - successPercentage - - total - - successful - - failed - - timedOut - properties: - detailType: - type: string - enum: - - FleetRolloutBatchCompleted - description: The type of detail for discriminator purposes. - templateVersion: - type: string - description: The name of the TemplateVersion that this batch is rolling out to. - batch: - type: string - description: The batch within the fleet rollout. - successPercentage: - type: integer - format: int64 - description: The success percentage of the batch. - total: - type: integer - format: int64 - description: The total number of devices in the batch. - successful: - type: integer - format: int64 - description: The number of successful devices in the batch. - failed: - type: integer - format: int64 - description: The number of failed devices in the batch. - timedOut: - type: integer - format: int64 - description: The number of timed out devices in the batch. - ReferencedRepositoryUpdatedDetails: - type: object - required: - - detailType - - repository - properties: - detailType: - type: string - enum: - - ReferencedRepositoryUpdated - description: The type of detail for discriminator purposes. - repository: - type: string - description: The name of the repository that was updated. - DependencyChangeDetectedDetails: - type: object - required: - - detailType - - resourceKey - - fingerprint - properties: - detailType: - type: string - enum: - - DependencyChangeDetected - description: The type of detail for discriminator purposes. - resourceKey: - type: string - description: The resource key identifying the dependency that changed (e.g. "git:my-repo/main"). - fingerprint: - type: string - description: The new fingerprint (e.g. commit SHA) of the changed dependency. - DependencySyncProbeFailedDetails: - type: object - required: - - detailType - - resourceKey - - error - properties: - detailType: - type: string - enum: - - DependencySyncProbeFailed - description: The type of detail for discriminator purposes. - resourceKey: - type: string - description: The resource key identifying the dependency that failed (e.g. "git:my-repo/main"). - error: - type: string - description: The error message from the failed probe. - Organization: - type: object - required: - - apiVersion - - kind - - metadata - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/OrganizationSpec' - OrganizationSpec: - type: object - description: OrganizationSpec describes an organization. - properties: - displayName: - type: string - description: Human readable name shown to users. - externalId: - type: string - description: External ID of the organization. - OrganizationList: - type: object - required: - - apiVersion - - kind - - metadata - - items - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of Organizations. - items: - $ref: '#/components/schemas/Organization' - description: OrganizationList is a list of Organizations. - AuthProvider: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/AuthProviderSpec' - required: - - apiVersion - - kind - - metadata - - spec - description: AuthProvider represents an authentication provider configuration supporting both OIDC and OAuth2. - AuthProviderSpec: - oneOf: - - $ref: '#/components/schemas/OIDCProviderSpec' - - $ref: '#/components/schemas/OAuth2ProviderSpec' - - $ref: '#/components/schemas/OpenShiftProviderSpec' - - $ref: '#/components/schemas/AapProviderSpec' - - $ref: '#/components/schemas/K8sProviderSpec' - discriminator: - propertyName: providerType - mapping: - oidc: '#/components/schemas/OIDCProviderSpec' - oauth2: '#/components/schemas/OAuth2ProviderSpec' - openshift: '#/components/schemas/OpenShiftProviderSpec' - aap: '#/components/schemas/AapProviderSpec' - k8s: '#/components/schemas/K8sProviderSpec' - required: - - providerType - OIDCProviderSpec: - type: object - description: OIDCProviderSpec describes an OIDC provider configuration. - properties: - providerType: - type: string - enum: - - oidc - description: The type of authentication provider. - displayName: - type: string - description: Human-readable display name for the provider. - issuer: - type: string - description: The OIDC issuer URL (e.g., https://accounts.google.com). - clientId: - type: string - description: The OIDC client ID. - clientSecret: - type: string - description: The OIDC client secret. - enabled: - type: boolean - description: Whether this OIDC provider is enabled. - default: true - scopes: - type: array - items: - type: string - description: List of OIDC scopes to request. - organizationAssignment: - $ref: '#/components/schemas/AuthOrganizationAssignment' - usernameClaim: - type: array - items: - type: string - description: JSON path to the username claim in the JWT token as an array of path segments (e.g., ["preferred_username"], ["email"], ["sub"]). - default: - - preferred_username - roleAssignment: - $ref: '#/components/schemas/AuthRoleAssignment' - required: - - providerType - - issuer - - clientId - - clientSecret - - organizationAssignment - - roleAssignment - OAuth2ProviderSpec: - type: object - description: OAuth2ProviderSpec describes an OAuth2 provider configuration. - properties: - providerType: - type: string - enum: - - oauth2 - description: The type of authentication provider. - displayName: - type: string - description: Human-readable display name for the provider. - issuer: - type: string - description: The OAuth2 issuer identifier (used for issuer identification in tokens). - authorizationUrl: - type: string - description: The OAuth2 authorization endpoint URL. - tokenUrl: - type: string - description: The OAuth2 token endpoint URL. - userinfoUrl: - type: string - description: The OAuth2 userinfo endpoint URL. - clientId: - type: string - description: The OAuth2 client ID. - clientSecret: - type: string - description: The OAuth2 client secret. - enabled: - type: boolean - description: Whether this OAuth2 provider is enabled. - default: true - scopes: - type: array - items: - type: string - description: List of OAuth2 scopes to request. - organizationAssignment: - $ref: '#/components/schemas/AuthOrganizationAssignment' - usernameClaim: - type: array - items: - type: string - description: JSON path to the username claim in the userinfo response as an array of path segments (e.g., ["preferred_username"], ["email"], ["sub"]). - default: - - preferred_username - roleAssignment: - $ref: '#/components/schemas/AuthRoleAssignment' - introspection: - $ref: '#/components/schemas/OAuth2Introspection' - required: - - providerType - - authorizationUrl - - tokenUrl - - userinfoUrl - - clientId - - clientSecret - - organizationAssignment - - roleAssignment - OAuth2Introspection: - type: object - description: OAuth2Introspection defines the token introspection configuration. - oneOf: - - $ref: '#/components/schemas/Rfc7662IntrospectionSpec' - - $ref: '#/components/schemas/GitHubIntrospectionSpec' - - $ref: '#/components/schemas/JwtIntrospectionSpec' - discriminator: - propertyName: type - mapping: - rfc7662: '#/components/schemas/Rfc7662IntrospectionSpec' - github: '#/components/schemas/GitHubIntrospectionSpec' - jwt: '#/components/schemas/JwtIntrospectionSpec' - Rfc7662IntrospectionSpec: - type: object - description: Rfc7662IntrospectionSpec defines token introspection using RFC 7662 standard. Uses the OAuth2ProviderSpec clientId and clientSecret for authentication. - properties: - type: - type: string - enum: - - rfc7662 - description: The introspection type. - url: - type: string - description: The RFC 7662 token introspection endpoint URL. - required: - - type - - url - GitHubIntrospectionSpec: - type: object - description: GitHubIntrospectionSpec defines token introspection using GitHub API (POST /applications/{client_id}/token). Uses the OAuth2ProviderSpec clientId and clientSecret for Basic Auth and URL path. - properties: - type: - type: string - enum: - - github - description: The introspection type. - url: - type: string - description: The GitHub API base URL. Defaults to https://api.github.com for GitHub.com, but can be customized for GitHub Enterprise Server. - default: https://api.github.com - required: - - type - JwtIntrospectionSpec: - type: object - description: JwtIntrospectionSpec defines token introspection using JWT validation with JWKS. - properties: - type: - type: string - enum: - - jwt - description: The introspection type. - jwksUrl: - type: string - description: The JWKS (JSON Web Key Set) endpoint URL for fetching public keys to validate JWT signatures. - issuer: - type: string - description: Expected issuer claim value in the JWT. If not specified, uses the OAuth2ProviderSpec issuer. - audience: - type: array - items: - type: string - description: Expected audience claim values in the JWT. If not specified, uses the OAuth2ProviderSpec clientId. - required: - - type - - jwksUrl - OpenShiftProviderSpec: - type: object - description: OpenShiftProviderSpec describes an OpenShift OAuth provider configuration. - properties: - providerType: - type: string - enum: - - openshift - description: The type of authentication provider. - displayName: - type: string - description: Human-readable display name for the provider. - issuer: - type: string - description: The OAuth2 issuer identifier (used for issuer identification in tokens). - authorizationUrl: - type: string - description: The OAuth2 authorization endpoint URL. - tokenUrl: - type: string - description: The OAuth2 token endpoint URL. - clientId: - type: string - description: The OAuth2 client ID. - clientSecret: - type: string - description: The OAuth2 client secret. - enabled: - type: boolean - description: Whether this OpenShift provider is enabled. - default: true - scopes: - type: array - items: - type: string - description: List of OAuth2 scopes to request. - clusterControlPlaneUrl: - type: string - description: The OpenShift cluster control plane URL. - projectLabelFilter: - type: string - description: If specified, only projects with this label will be considered. The label selector should be in the format 'key' or 'key=value'. If only the key is provided, any project with that label (regardless of value) will be included. This enables server-side filtering for better performance. - roleSuffix: - type: string - description: Optional suffix to strip from ClusterRole names when normalizing role names. Used for multi-release deployments where ClusterRoles have namespace-specific names (e.g., flightctl-admin-). - organizationNamePrefix: - type: string - description: Optional prefix for organization (project) names. Incoming names are exposed as prefix + name (e.g. 'ocp-' + project). - required: - - providerType - AapProviderSpec: - type: object - description: AapProviderSpec describes an Ansible Automation Platform (AAP) provider configuration. - properties: - providerType: - type: string - enum: - - aap - description: The type of authentication provider. - displayName: - type: string - description: Human-readable display name for the provider. - apiUrl: - type: string - description: The internal AAP API URL. - authorizationUrl: - type: string - description: The OAuth2 authorization endpoint URL. - tokenUrl: - type: string - description: The OAuth2 token endpoint URL. - clientId: - type: string - description: The OAuth2 client ID. - clientSecret: - type: string - description: The OAuth2 client secret. - enabled: - type: boolean - description: Whether this AAP provider is enabled. - default: true - scopes: - type: array - items: - type: string - description: List of OAuth2 scopes to request. - organizationNamePrefix: - type: string - description: Optional prefix for AAP organization names. Incoming names are exposed as prefix + name. - required: - - providerType - - apiUrl - - authorizationUrl - - tokenUrl - - clientId - - clientSecret - - scopes - K8sProviderSpec: - type: object - description: K8sProviderSpec describes a Kubernetes/OpenShift provider configuration. - properties: - providerType: - type: string - enum: - - k8s - description: The type of authentication provider. - displayName: - type: string - description: Human-readable display name for the provider. - apiUrl: - type: string - description: The internal Kubernetes API URL. - rbacNs: - type: string - description: The RBAC namespace for permissions. - enabled: - type: boolean - description: Whether this K8s provider is enabled. - default: true - organizationAssignment: - $ref: '#/components/schemas/AuthOrganizationAssignment' - roleAssignment: - $ref: '#/components/schemas/AuthRoleAssignment' - roleSuffix: - type: string - description: Optional suffix to strip from ClusterRole names when normalizing role names. Used for multi-release deployments where ClusterRoles have namespace-specific names (e.g., flightctl-admin-). - organizationNamePrefix: - type: string - description: Optional prefix for the organization name. The default org name is exposed as prefix + 'default' when set. - required: - - providerType - - apiUrl - AuthOrganizationAssignment: - type: object - description: AuthOrganizationAssignment defines how users from this auth provider are assigned to organizations. - oneOf: - - $ref: '#/components/schemas/AuthStaticOrganizationAssignment' - - $ref: '#/components/schemas/AuthDynamicOrganizationAssignment' - - $ref: '#/components/schemas/AuthPerUserOrganizationAssignment' - discriminator: - propertyName: type - mapping: - static: '#/components/schemas/AuthStaticOrganizationAssignment' - dynamic: '#/components/schemas/AuthDynamicOrganizationAssignment' - perUser: '#/components/schemas/AuthPerUserOrganizationAssignment' - AuthStaticOrganizationAssignment: - type: object - description: AuthStaticOrganizationAssignment assigns all users from this auth provider to a single static organization. - properties: - type: - type: string - enum: - - static - description: The type of organization assignment. - organizationName: - type: string - description: The name of the organization where all users will be assigned. - required: - - type - - organizationName - AuthDynamicOrganizationAssignment: - type: object - description: AuthDynamicOrganizationAssignment assigns users to organizations based on auth provider claims. - properties: - type: - type: string - enum: - - dynamic - description: The type of organization assignment. - claimPath: - type: array - items: - type: string - description: The JSON path to the claim that contains the organization identifier (e.g., ["groups", "0"] or ["custom", "org"]). - organizationNamePrefix: - type: string - description: The prefix for the organization name (e.g., "org-"). - default: '' - organizationNameSuffix: - type: string - description: The suffix for the organization name (e.g., "-org"). - default: '' - required: - - type - - claimPath - AuthPerUserOrganizationAssignment: - type: object - description: AuthPerUserOrganizationAssignment creates a separate organization for each user. - properties: - type: - type: string - enum: - - perUser - description: The type of organization assignment. - organizationNamePrefix: - type: string - description: The prefix for the user-specific organization name (e.g., "user-org-"). - default: user-org- - organizationNameSuffix: - type: string - description: The suffix for the user-specific organization name (e.g., "-org"). - default: '' - required: - - type - AuthRoleAssignment: - type: object - description: AuthRoleAssignment defines how roles are assigned to users from this auth provider. - oneOf: - - $ref: '#/components/schemas/AuthStaticRoleAssignment' - - $ref: '#/components/schemas/AuthDynamicRoleAssignment' - discriminator: - propertyName: type - mapping: - static: '#/components/schemas/AuthStaticRoleAssignment' - dynamic: '#/components/schemas/AuthDynamicRoleAssignment' - AuthStaticRoleAssignment: - type: object - description: AuthStaticRoleAssignment assigns a static set of roles to all users from this auth provider. - properties: - type: - type: string - enum: - - static - description: The type of role assignment. - roles: - type: array - items: - type: string - description: The list of role names to assign to all users. - required: - - type - - roles - AuthDynamicRoleAssignment: - type: object - description: AuthDynamicRoleAssignment extracts roles from auth provider claims using a JSON path. - properties: - type: - type: string - enum: - - dynamic - description: The type of role assignment. - claimPath: - type: array - items: - type: string - description: The JSON path to the role/group claim (e.g., ["groups"], ["roles"], ["realm_access", "roles"]). - separator: - type: string - description: Separator for org:role format (default ':'). Roles containing the separator are split into organization-scoped roles. Roles without separator are global and apply to all organizations. - default: ':' - required: - - type - - claimPath - AuthProviderList: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of auth providers. - items: - $ref: '#/components/schemas/AuthProvider' - required: - - apiVersion - - kind - - metadata - - items - description: AuthProviderList is a list of auth providers. - PermissionList: - type: object - description: List of available permissions for a user. - properties: - permissions: - type: array - description: List of permissions available to the user. - items: - $ref: '#/components/schemas/Permission' - required: - - permissions - Permission: - type: object - description: A permission defining allowed operations on a resource. - properties: - resource: - type: string - description: The resource (e.g., "devices", "fleets", "*" for all resources). - operations: - type: array - description: List of allowed operations (e.g., "get", "list", "create", "update", "patch", "delete", "*" for all operations). - items: - type: string - required: - - resource - - operations - CheckRepositoryOciTagRequest: - type: object - description: Request to check if a specific image tag exists in an OCI registry. - properties: - imageName: - type: string - description: The image name/path within the registry (e.g. "centos-bootc/centos-bootc"). Combined with the registry host from the Repository resource, this forms the full repository reference (e.g. "quay.io/centos-bootc/centos-bootc"). - minLength: 1 - maxLength: 255 - tag: - type: string - description: The image tag to check for existence (e.g. "9.5"). - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - required: - - imageName - - tag - additionalProperties: false - CheckRepositoryOciResult: - type: object - description: Result of an OCI registry check (tag existence or image accessibility). - properties: - accessible: - type: boolean - description: Whether the image or tag is accessible in the registry. - errorCode: - type: integer - description: HTTP status code returned by the OCI registry when accessible is false. Absent when the failure is not an HTTP-level error (e.g. network timeout). - errorMessage: - type: string - description: Error message describing why the image or tag is not accessible. - required: - - accessible - additionalProperties: false - CheckRepositoryOciImageRequest: - type: object - description: Request to check if a specific OCI image is accessible in a registry. - properties: - imageName: - type: string - description: The image name/path within the registry (e.g. "centos-bootc/centos-bootc"). Combined with the registry host from the Repository resource, this forms the full image reference (e.g. "quay.io/centos-bootc/centos-bootc"). - minLength: 1 - maxLength: 255 - required: - - imageName - additionalProperties: false diff --git a/api/bundled/imagebuilder-v1alpha1.yaml b/api/bundled/imagebuilder-v1alpha1.yaml deleted file mode 100644 index bcfbf09..0000000 --- a/api/bundled/imagebuilder-v1alpha1.yaml +++ /dev/null @@ -1,2198 +0,0 @@ -openapi: 3.0.1 -info: - title: Flight Control Image Builder API - version: v1alpha1 - description: | - Image Builder service for Flight Control. - This service manages image build resources for building and pushing container images. - contact: - name: The Flight Control Team - url: https://flightctl.io - email: team@flightctl.io - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0.html -servers: - - url: / -tags: - - name: imagebuild - description: Operations on ImageBuild resources. - - name: imageexport - description: Operations on ImageExport resources. - - name: imagepromotion - description: Operations on ImagePromotion resources. -paths: - /api/v1/imagebuilds: - x-resource: imagebuilds - get: - tags: - - imagebuild - description: List ImageBuild resources. - operationId: listImageBuilds - parameters: - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields. - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: continue - in: query - description: An optional parameter to query more results from the server. - schema: - type: string - - name: withExports - in: query - description: If true, includes related ImageExport resources in each ImageBuild in the response. - schema: - type: boolean - default: false - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuildList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - imagebuild - description: Create an ImageBuild resource. - operationId: createImageBuild - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuild' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuild' - links: - GetImageBuild: - operationId: getImageBuild - parameters: - name: $response.body#/metadata/name - DeleteImageBuild: - operationId: deleteImageBuild - parameters: - name: $response.body#/metadata/name - GetImageBuildLog: - operationId: getImageBuildLog - parameters: - name: $response.body#/metadata/name - CancelImageBuild: - operationId: cancelImageBuild - parameters: - name: $response.body#/metadata/name - CreateImageExport: - operationId: createImageExport - requestBody: - apiVersion: flightctl.io/v1alpha1 - kind: ImageExport - metadata: - name: $response.body#/metadata/name - spec: - source: - type: imageBuild - imageBuildRef: $response.body#/metadata/name - format: qcow2 - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagebuilds/{name}: - x-resource: imagebuilds - get: - tags: - - imagebuild - description: Get an ImageBuild resource. - operationId: getImageBuild - parameters: - - name: name - in: path - description: The name of the ImageBuild resource. - required: true - schema: - type: string - - name: withExports - in: query - description: If true, includes related ImageExport resources in the response. - schema: - type: boolean - default: false - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuild' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - imagebuild - description: Delete an ImageBuild resource. - operationId: deleteImageBuild - parameters: - - name: name - in: path - description: The name of the ImageBuild resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagebuilds/{name}/log: - x-resource: imagebuilds/log - get: - tags: - - imagebuild - description: Get logs for an ImageBuild resource. For active builds, streams logs live. For completed builds, returns last 500 lines. - operationId: getImageBuildLog - parameters: - - name: name - in: path - description: The name of the ImageBuild resource. - required: true - schema: - type: string - - name: follow - in: query - description: If true, stream logs continuously (like kubectl logs -f). For active builds, keeps connection open. For completed builds, returns all logs and closes. - schema: - type: boolean - default: false - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - description: Log output as plain text (when follow=false or for completed builds) - text/event-stream: - schema: - type: string - description: Log output as Server-Sent Events stream (when follow=true for active builds) - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagebuilds/{name}/cancel: - x-resource: imagebuilds/cancel - post: - tags: - - imagebuild - description: Cancel a running ImageBuild. Only builds in Pending, Building, or Pushing state can be canceled. - operationId: cancelImageBuild - parameters: - - name: name - in: path - description: The name of the ImageBuild resource to cancel. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuild' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - Build not in cancelable state - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagebuilds/{name}/newversion: - x-resource: imagebuilds/newversion - post: - tags: - - imagebuild - description: Create a new ImageBuild derived from an existing one, copying its spec with optional tag overrides. Sets flightctl.io/new-version-from annotation to record lineage. - operationId: createImageBuildNewVersion - parameters: - - name: name - in: path - description: The name of the parent ImageBuild resource. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuildNewVersionRequest' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ImageBuild' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - parent ImageBuild does not exist - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - ImageBuild with given name already exists - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imageexports: - x-resource: imageexports - get: - tags: - - imageexport - description: List ImageExport resources. - operationId: listImageExports - parameters: - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields. - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: continue - in: query - description: An optional parameter to query more results from the server. - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageExportList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - imageexport - description: Create an ImageExport resource. - operationId: createImageExport - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ImageExport' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ImageExport' - links: - GetImageExport: - operationId: getImageExport - parameters: - name: $response.body#/metadata/name - DeleteImageExport: - operationId: deleteImageExport - parameters: - name: $response.body#/metadata/name - GetImageExportLog: - operationId: getImageExportLog - parameters: - name: $response.body#/metadata/name - CancelImageExport: - operationId: cancelImageExport - parameters: - name: $response.body#/metadata/name - DownloadImageExport: - operationId: downloadImageExport - parameters: - name: $response.body#/metadata/name - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imageexports/{name}: - x-resource: imageexports - get: - tags: - - imageexport - description: Get an ImageExport resource. - operationId: getImageExport - parameters: - - name: name - in: path - description: The name of the ImageExport resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageExport' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - imageexport - description: Delete an ImageExport resource. - operationId: deleteImageExport - parameters: - - name: name - in: path - description: The name of the ImageExport resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imageexports/{name}/cancel: - x-resource: imageexports/cancel - post: - tags: - - imageexport - description: Cancel a running ImageExport. Only exports in Pending, Converting, or Pushing state can be canceled. - operationId: cancelImageExport - parameters: - - name: name - in: path - description: The name of the ImageExport resource to cancel. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImageExport' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - Export not in cancelable state - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imageexports/{name}/download: - x-resource: imageexports/download - get: - tags: - - imageexport - description: Download an ImageExport artifact from the registry. - operationId: downloadImageExport - parameters: - - name: name - in: path - description: The name of the ImageExport resource. - required: true - schema: - type: string - responses: - '200': - description: OK - Artifact blob content - content: - application/octet-stream: - schema: - type: string - format: binary - '302': - description: Found - Redirect to registry blob URL - headers: - Location: - schema: - type: string - '307': - description: Temporary Redirect - Redirect to registry blob URL - headers: - Location: - schema: - type: string - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imageexports/{name}/log: - x-resource: imageexports/log - get: - tags: - - imageexport - description: Get logs for an ImageExport resource. For active exports, streams logs live. For completed exports, returns last 500 lines. - operationId: getImageExportLog - parameters: - - name: name - in: path - description: The name of the ImageExport resource. - required: true - schema: - type: string - - name: follow - in: query - description: If true, stream logs continuously (like kubectl logs -f). For active exports, keeps connection open. For completed exports, returns all logs and closes. - schema: - type: boolean - default: false - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - description: Log output as plain text (when follow=false or for completed exports) - text/event-stream: - schema: - type: string - description: Log output as Server-Sent Events stream (when follow=true for active exports) - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagepromotions: - x-resource: imagepromotions - get: - tags: - - imagepromotion - description: List ImagePromotion resources. - operationId: listImagePromotions - parameters: - - name: labelSelector - in: query - description: A selector to restrict the list of returned objects by their labels. - schema: - type: string - - name: fieldSelector - in: query - description: A selector to restrict the list of returned objects by their fields. - schema: - type: string - - name: limit - in: query - description: The maximum number of results returned in the list response. - schema: - type: integer - format: int32 - minimum: 0 - maximum: 1000 - - name: continue - in: query - description: An optional parameter to query more results from the server. - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotionList' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - post: - tags: - - imagepromotion - description: Create an ImagePromotion resource to publish a completed image build to the software catalog. - operationId: createImagePromotion - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - required: true - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - an ImagePromotion with the given name already exists. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - /api/v1/imagepromotions/{name}: - x-resource: imagepromotions - get: - tags: - - imagepromotion - description: Get an ImagePromotion resource. - operationId: getImagePromotion - parameters: - - name: name - in: path - description: The name of the ImagePromotion resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - put: - tags: - - imagepromotion - description: | - Replace an ImagePromotion resource. Only spec.source.exportFormats (append-only — the submitted list must be a superset of the current list) and metadata.labels may be changed. All other spec fields must be identical to the stored values or a 400 is returned. The promotion must not be in Failed or Publishing state. - operationId: replaceImagePromotion - parameters: - - name: name - in: path - description: The name of the ImagePromotion resource. - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - concurrent update conflict. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - patch: - tags: - - imagepromotion - description: | - Patch an ImagePromotion resource using RFC 6902 JSON Patch. Only operations targeting /spec/source/exportFormats (or its children) and /metadata/labels are accepted. Export formats may only be added (append-only). The promotion must not be in Failed or Publishing state. - operationId: patchImagePromotion - parameters: - - name: name - in: path - description: The name of the ImagePromotion resource. - required: true - schema: - type: string - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - required: true - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ImagePromotion' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - delete: - tags: - - imagepromotion - description: Delete an ImagePromotion resource. - operationId: deleteImagePromotion - parameters: - - name: name - in: path - description: The name of the ImagePromotion resource. - required: true - schema: - type: string - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '400': - description: Bad Request. - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '401': - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '403': - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '404': - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '409': - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '429': - description: Too Many Requests - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - '503': - description: Service Unavailable - content: - application/json: - schema: - $ref: '#/components/schemas/Status' -components: - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - orgId: - type: apiKey - in: query - name: org_id - description: The UUID of the organization that owns the resource. Maps to an organizations metadata.name. - schemas: - ApiVersion: - type: string - x-go-type: string - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.' - enum: - - v1alpha1 - - flightctl.io/v1alpha1 - x-enum-varnames: - - ApiVersionV1alpha1 - - ApiVersionFlightctlIoV1alpha1 - ResourceKind: - type: string - enum: - - ImageBuild - - ImageExport - - ImagePromotion - description: Resource types exposed via the ImageBuilder API. - ImageBuild: - type: object - description: ImageBuild represents a build request for a container image. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/ImageBuildSpec' - status: - $ref: '#/components/schemas/ImageBuildStatus' - imageexports: - type: array - description: Array of ImageExport resources that reference this ImageBuild. Only populated when withExports query parameter is true. - items: - $ref: '#/components/schemas/ImageExport' - required: - - apiVersion - - kind - - metadata - - spec - example: - apiVersion: flightctl.io/v1alpha1 - kind: ImageBuild - metadata: - name: centos-bootc-stream9-build - spec: - source: - repository: quay-io - imageName: centos-bootc/centos-bootc - imageTag: stream9 - destination: - repository: my-registry - imageName: my-user/centos-bootc-custom - imageTag: v1.0.0 - binding: - type: late - additionalProperties: false - ImageBuildList: - type: object - description: ImageBuildList is a list of ImageBuild resources. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of ImageBuild resources. - items: - $ref: '#/components/schemas/ImageBuild' - required: - - apiVersion - - kind - - metadata - - items - ImageBuildSpec: - type: object - description: ImageBuildSpec describes the specification for an image build. - properties: - source: - $ref: '#/components/schemas/ImageBuildSource' - destination: - $ref: '#/components/schemas/ImageBuildDestination' - binding: - $ref: '#/components/schemas/ImageBuildBinding' - userConfiguration: - $ref: '#/components/schemas/ImageBuildUserConfiguration' - required: - - source - - destination - - binding - additionalProperties: false - ImageBuildSource: - type: object - description: ImageBuildSource specifies the source image for the build. - properties: - repository: - type: string - minLength: 1 - description: The name of the Repository resource of type OCI containing the source image. - imageName: - type: string - minLength: 1 - maxLength: 255 - description: The name of the source image. - imageTag: - type: string - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - description: The tag of the source image. - required: - - repository - - imageName - - imageTag - ImageBuildDestination: - type: object - description: ImageBuildDestination specifies the destination for the built image. - properties: - repository: - type: string - minLength: 1 - description: The name of the Repository resource of type OCI to push the built image to. - imageName: - type: string - minLength: 1 - maxLength: 255 - description: The name of the output image. - imageTag: - type: string - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - description: The tag of the output image. - required: - - repository - - imageName - - imageTag - ImageBuildBinding: - description: ImageBuildBinding specifies binding configuration for the build. - oneOf: - - $ref: '#/components/schemas/EarlyBinding' - - $ref: '#/components/schemas/LateBinding' - discriminator: - propertyName: type - mapping: - early: '#/components/schemas/EarlyBinding' - late: '#/components/schemas/LateBinding' - ImageBuildUserConfiguration: - type: object - description: ImageBuildUserConfiguration specifies user configuration for the build. - properties: - username: - type: string - description: The username for the user configuration. - publickey: - type: string - description: The public key for the user configuration. - required: - - username - - publickey - EarlyBinding: - type: object - description: Early binding configuration - embeds certificate in the image. - required: - - type - properties: - type: - type: string - enum: - - early - description: The type of binding. - LateBinding: - type: object - description: Late binding configuration - device binds at first boot. - required: - - type - properties: - type: - type: string - enum: - - late - description: The type of binding. - BindingType: - type: string - description: The type of binding for the image build. - enum: - - early - - late - x-enum-varnames: - - BindingTypeEarly - - BindingTypeLate - ImageBuildStatus: - type: object - description: ImageBuildStatus represents the current status of an ImageBuild. - properties: - conditions: - type: array - description: Current conditions of the ImageBuild. - items: - $ref: '#/components/schemas/ImageBuildCondition' - imageReference: - type: string - description: The full image reference of the built image (e.g., quay.io/org/imagename:tag). - architecture: - type: string - description: The architecture of the built image. - manifestDigest: - type: string - description: The digest of the built image manifest. - lastSeen: - type: string - format: date-time - description: The last time the build was seen (heartbeat). - ImageBuildCondition: - description: Condition for ImageBuild resources. - allOf: - - $ref: '#/components/schemas/ConditionBase' - - type: object - required: - - type - properties: - type: - $ref: '#/components/schemas/ImageBuildConditionType' - ImageBuildConditionType: - type: string - description: Type of ImageBuild condition. - enum: - - Ready - x-enum-varnames: - - ImageBuildConditionTypeReady - ImageBuildConditionReason: - type: string - description: Reason for the ImageBuild Ready condition. - enum: - - Pending - - Building - - Pushing - - GeneratingSBOM - - Completed - - Failed - - Canceling - - Canceled - x-enum-varnames: - - ImageBuildConditionReasonPending - - ImageBuildConditionReasonBuilding - - ImageBuildConditionReasonPushing - - ImageBuildConditionReasonGeneratingSBOM - - ImageBuildConditionReasonCompleted - - ImageBuildConditionReasonFailed - - ImageBuildConditionReasonCanceling - - ImageBuildConditionReasonCanceled - ImageExport: - type: object - description: ImageExport represents an export request to convert and push images to different formats. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/ImageExportSpec' - status: - $ref: '#/components/schemas/ImageExportStatus' - required: - - apiVersion - - kind - - metadata - - spec - example: - apiVersion: flightctl.io/v1alpha1 - kind: ImageExport - metadata: - name: my-edge-export-from-build - spec: - source: - type: imageBuild - imageBuildRef: centos-bootc-stream9-build - format: qcow2 - additionalProperties: false - ImageExportList: - type: object - description: ImageExportList is a list of ImageExport resources. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of ImageExport resources. - items: - $ref: '#/components/schemas/ImageExport' - required: - - apiVersion - - kind - - metadata - - items - ImageExportSpec: - type: object - description: ImageExportSpec describes the specification for an image export. - properties: - source: - $ref: '#/components/schemas/ImageExportSource' - format: - $ref: '#/components/schemas/ExportFormatType' - required: - - source - - format - additionalProperties: false - ImageExportSource: - description: ImageExportSource specifies the source image for the export. - oneOf: - - $ref: '#/components/schemas/ImageBuildRefSource' - discriminator: - propertyName: type - mapping: - imageBuild: '#/components/schemas/ImageBuildRefSource' - ImageBuildRefSource: - type: object - description: ImageBuildRefSource specifies a source image from an ImageBuild resource. - required: - - type - - imageBuildRef - properties: - type: - type: string - enum: - - imageBuild - description: The type of source. - imageBuildRef: - type: string - minLength: 1 - description: The name of the ImageBuild resource to use as source. - ImageExportSourceType: - type: string - description: The type of source for the image export. - enum: - - imageBuild - x-enum-varnames: - - ImageExportSourceTypeImageBuild - ExportFormatType: - type: string - description: The type of format to export the image to. - enum: - - vmdk - - qcow2 - - iso - - qcow2-disk-container - x-enum-varnames: - - ExportFormatTypeVMDK - - ExportFormatTypeQCOW2 - - ExportFormatTypeISO - - ExportFormatTypeQCOW2DiskContainer - ImageExportStatus: - type: object - description: ImageExportStatus represents the current status of an ImageExport. - properties: - conditions: - type: array - description: Current conditions of the ImageExport. - items: - $ref: '#/components/schemas/ImageExportCondition' - manifestDigest: - type: string - description: The digest of the exported image manifest for this format. - lastSeen: - type: string - format: date-time - description: The last time the export was seen (heartbeat). - ImageExportCondition: - description: Condition for ImageExport resources. - allOf: - - $ref: '#/components/schemas/ConditionBase' - - type: object - required: - - type - properties: - type: - $ref: '#/components/schemas/ImageExportConditionType' - ImageExportConditionType: - type: string - description: Type of ImageExport condition. - enum: - - Ready - x-enum-varnames: - - ImageExportConditionTypeReady - ImageExportConditionReason: - type: string - description: Reason for the ImageExport Ready condition. - enum: - - Pending - - Converting - - Pushing - - Completed - - Failed - - Canceling - - Canceled - x-enum-varnames: - - ImageExportConditionReasonPending - - ImageExportConditionReasonConverting - - ImageExportConditionReasonPushing - - ImageExportConditionReasonCompleted - - ImageExportConditionReasonFailed - - ImageExportConditionReasonCanceling - - ImageExportConditionReasonCanceled - ImageExportFormatPhase: - type: string - description: The phase of a single format conversion. - enum: - - queued - - converting - - pushing - - complete - - failed - x-enum-varnames: - - ImageExportFormatPhaseQueued - - ImageExportFormatPhaseConverting - - ImageExportFormatPhasePushing - - ImageExportFormatPhaseComplete - - ImageExportFormatPhaseFailed - Status: - type: object - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' - code: - type: integer - format: int32 - description: Suggested HTTP return code for this status, 0 if not set. - message: - type: string - description: A human-readable description of the status of this operation. - reason: - type: string - description: A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it. - status: - type: string - description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.' - description: Status is a return value for calls that don't return other objects. - required: - - apiVersion - - kind - - status - - code - - reason - - message - ImageBuildNewVersionRequest: - type: object - description: Request body for the newversion subresource endpoint. - properties: - name: - type: string - minLength: 1 - maxLength: 253 - description: Name for the new ImageBuild resource. - sourceImageTag: - type: string - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - description: Override for spec.source.imageTag. If omitted, the parent's tag is used. - destinationImageTag: - type: string - minLength: 1 - maxLength: 128 - pattern: ^[\w][\w.-]{0,127}$ - description: Override for spec.destination.imageTag. If omitted, the parent's tag is used. - required: - - name - additionalProperties: false - ImagePromotion: - type: object - description: ImagePromotion tracks a single publish attempt from an ImageBuild to a CatalogItem. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource this object represents. - metadata: - $ref: '#/components/schemas/ObjectMeta' - spec: - $ref: '#/components/schemas/ImagePromotionSpec' - status: - $ref: '#/components/schemas/ImagePromotionStatus' - required: - - apiVersion - - kind - - metadata - - spec - additionalProperties: false - ImagePromotionList: - type: object - description: ImagePromotionList is a list of ImagePromotion resources. - properties: - apiVersion: - $ref: '#/components/schemas/ApiVersion' - kind: - type: string - description: Kind is a string value representing the REST resource this object represents. - metadata: - $ref: '#/components/schemas/ListMeta' - items: - type: array - description: List of ImagePromotion resources. - items: - $ref: '#/components/schemas/ImagePromotion' - required: - - apiVersion - - kind - - metadata - - items - ImagePromotionSpec: - type: object - description: Desired state of an ImagePromotion resource. - properties: - source: - $ref: '#/components/schemas/ImagePromotionSource' - target: - $ref: '#/components/schemas/ImagePromotionTarget' - required: - - source - - target - additionalProperties: false - ImagePromotionSource: - type: object - description: Identifies the artifact(s) to publish. - properties: - imageBuildRef: - type: string - minLength: 1 - description: Name of the ImageBuild resource this promotion is linked to. The container/bootc artifact produced by this build is always included in the CatalogItem version entry. - exportFormats: - type: array - description: Optional list of additional artifact formats to include in the CatalogItem version entry. The promotion waits in WaitingForArtifacts until at least one successful ImageExport exists for every requested format. - items: - $ref: '#/components/schemas/ExportFormatType' - required: - - imageBuildRef - additionalProperties: false - ImagePromotionTarget: - description: Specifies where and how to publish the artifact(s). The type field is the discriminator. - oneOf: - - $ref: '#/components/schemas/NewCatalogItemTarget' - - $ref: '#/components/schemas/ExistingCatalogItemTarget' - discriminator: - propertyName: type - mapping: - NewCatalogItem: '#/components/schemas/NewCatalogItemTarget' - ExistingCatalogItem: '#/components/schemas/ExistingCatalogItemTarget' - ImagePromotionTargetBase: - type: object - description: Common fields shared by all ImagePromotionTarget variants. - properties: - type: - type: string - description: Discriminator for the target type. - catalogName: - type: string - minLength: 1 - description: Name of the parent Catalog resource. - catalogItemName: - type: string - minLength: 1 - description: Name of the CatalogItem to create or update. - version: - type: string - description: Semver version string for the new CatalogItem version entry. - required: - - type - - catalogName - - catalogItemName - - version - NewCatalogItemTarget: - description: Publish target that creates a new CatalogItem. Rejected immediately if a CatalogItem with the given catalogItemName already exists. - allOf: - - $ref: '#/components/schemas/ImagePromotionTargetBase' - - type: object - additionalProperties: false - properties: - type: - type: string - enum: - - NewCatalogItem - description: Discriminator for the target type. - catalogName: - type: string - description: Name of the parent Catalog resource. - catalogItemName: - type: string - description: Name of the CatalogItem to create. - version: - type: string - description: Semver version string for the new CatalogItem version entry. - readme: - type: string - description: Optional item-level readme for the new CatalogItem. Markdown is supported. - displayName: - type: string - description: Optional human-readable display name for the new CatalogItem. - ExistingCatalogItemTarget: - description: Publish target that appends a version to an existing CatalogItem. Rejected immediately if the CatalogItem does not exist. - allOf: - - $ref: '#/components/schemas/ImagePromotionTargetBase' - - type: object - additionalProperties: false - properties: - type: - type: string - enum: - - ExistingCatalogItem - description: Discriminator for the target type. - catalogName: - type: string - description: Name of the parent Catalog resource. - catalogItemName: - type: string - description: Name of the CatalogItem to update. - version: - type: string - description: Semver version string for the new CatalogItem version entry. - readme: - type: string - description: Optional version-level readme for this version entry. Markdown is supported. - replaces: - type: string - description: The single version this one replaces, defining the primary upgrade edge. - skips: - type: array - items: - type: string - description: Additional versions that can upgrade directly to this one. - skipRange: - type: string - description: Semver range of versions that can upgrade directly to this one (e.g. ">=1.0.0 <1.3.0"). - ImagePromotionStatus: - type: object - description: Observed state of an ImagePromotion resource. - properties: - conditions: - type: array - description: Conditions describing the current state of the promotion lifecycle. - items: - $ref: '#/components/schemas/ImagePromotionCondition' - publishedAt: - type: string - format: date-time - description: Timestamp of the initial successful promotion. Set once when the promotion first reaches Completed state. Not updated by subsequent amendments. - lastAmendedAt: - type: string - format: date-time - description: Timestamp of the most recent successful amendment (i.e., when the last additional export format was written to the CatalogItemVersion). Absent if the promotion has never been amended. - artifactStatuses: - type: array - description: Per-artifact readiness summary. One entry for the ImageBuild (container artifact) and one entry per requested exportFormat. Updated as artifacts become available or as new formats are added via PATCH/PUT. - items: - $ref: '#/components/schemas/ArtifactPromotionStatus' - ArtifactPromotionStatus: - type: object - properties: - format: - type: string - description: Artifact format. "container" for the ImageBuild artifact; one of the exportFormats values for additional artifacts. - ready: - type: boolean - description: True when at least one successful artifact of this format is available. - published: - type: boolean - description: True when this format's artifact reference has been successfully written to the CatalogItemVersion. For the initial publish, all formats are published atomically. For amendments, formats added via PATCH/PUT start as published=false and transition to published=true when their CatalogItem patch succeeds. - resolvedExport: - type: string - description: Name of the ImageExport resource that will be (or was) used for this format. Absent for the container artifact and for formats not yet ready. - required: - - format - - ready - - published - additionalProperties: false - ImagePromotionCondition: - description: Condition for ImagePromotion resources. - allOf: - - $ref: '#/components/schemas/ConditionBase' - - type: object - required: - - type - properties: - type: - $ref: '#/components/schemas/ImagePromotionConditionType' - ImagePromotionConditionType: - type: string - description: Type of ImagePromotion condition. - enum: - - Ready - x-enum-varnames: - - ImagePromotionConditionTypeReady - ImagePromotionConditionReason: - type: string - description: Reason for the ImagePromotion Ready condition. - enum: - - WaitingForArtifacts - - Publishing - - Completed - - Failed - - BuildFailed - - BuildCanceled - - AmendmentFailed - x-enum-varnames: - - ImagePromotionConditionReasonWaitingForArtifacts - - ImagePromotionConditionReasonPublishing - - ImagePromotionConditionReasonCompleted - - ImagePromotionConditionReasonFailed - - ImagePromotionConditionReasonBuildFailed - - ImagePromotionConditionReasonBuildCanceled - - ImagePromotionConditionReasonAmendmentFailed - ImagePromotionTargetType: - type: string - description: Discriminator for the promotion target type. - enum: - - NewCatalogItem - - ExistingCatalogItem - x-enum-varnames: - - ImagePromotionTargetTypeNewCatalogItem - - ImagePromotionTargetTypeExistingCatalogItem - ListMeta: - type: object - properties: - continue: - type: string - description: May be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message. - remainingItemCount: - type: integer - description: The number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact. - format: int64 - description: ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}. - ObjectMeta: - type: object - properties: - creationTimestamp: - type: string - description: The time the object was created. - format: date-time - deletionTimestamp: - type: string - description: The time the object will be deleted. - format: date-time - name: - type: string - maxLength: 253 - description: The name of the object. - labels: - type: object - description: Map of string keys and values that can be used to organize and categorize (scope and select) objects. - additionalProperties: - type: string - maxLength: 63 - generation: - type: integer - description: A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. - format: int64 - owner: - type: string - description: A resource that owns this resource, in "kind/name" format. - annotations: - type: object - additionalProperties: - type: string - description: Properties set by the service. - resourceVersion: - type: string - description: An opaque string that identifies the server's internal version of an object. - description: ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. - ConditionStatus: - type: string - description: Status of the condition, one of True, False, Unknown. - enum: - - 'True' - - 'False' - - Unknown - x-enum-varnames: - - ConditionStatusTrue - - ConditionStatusFalse - - ConditionStatusUnknown - ConditionBase: - type: object - description: Base condition structure following Kubernetes API conventions. Use with allOf to add a specific type enum. - required: - - status - - lastTransitionTime - - reason - - message - properties: - status: - $ref: '#/components/schemas/ConditionStatus' - observedGeneration: - type: integer - format: int64 - description: The .metadata.generation that the condition was set based upon. - lastTransitionTime: - type: string - format: date-time - description: The last time the condition transitioned from one status to another. - message: - type: string - description: Human readable message indicating details about last transition. - reason: - type: string - description: A (brief) reason for the condition's last transition. - PatchRequest: - type: array - items: - type: object - additionalProperties: false - required: - - op - - path - properties: - path: - description: A JSON Pointer path. - type: string - value: - description: The value to add or replace. - op: - description: The operation to perform. - type: string - enum: - - add - - replace - - remove - - test diff --git a/flightctl/api_client.py b/flightctl/api_client.py index cccd03d..5dca699 100644 --- a/flightctl/api_client.py +++ b/flightctl/api_client.py @@ -92,7 +92,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/1.2.0/python' + self.user_agent = 'OpenAPI-Generator/1.2.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/flightctl/configuration.py b/flightctl/configuration.py index 69a3a6f..1f4615e 100644 --- a/flightctl/configuration.py +++ b/flightctl/configuration.py @@ -545,7 +545,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: v1beta1\n"\ - "SDK Package Version: 1.2.0".\ + "SDK Package Version: 1.2.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/flightctl/imagebuilder/__init__.py b/flightctl/imagebuilder/__init__.py index 72fb39d..acaba1f 100644 --- a/flightctl/imagebuilder/__init__.py +++ b/flightctl/imagebuilder/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "1.2.0" +__version__ = "1.2.1" # Define package exports __all__ = [ diff --git a/flightctl/imagebuilder/api_client.py b/flightctl/imagebuilder/api_client.py index 2055997..e1774ed 100644 --- a/flightctl/imagebuilder/api_client.py +++ b/flightctl/imagebuilder/api_client.py @@ -92,7 +92,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/1.2.0/python' + self.user_agent = 'OpenAPI-Generator/1.2.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/flightctl/imagebuilder/configuration.py b/flightctl/imagebuilder/configuration.py index 2000ca7..d09e30d 100644 --- a/flightctl/imagebuilder/configuration.py +++ b/flightctl/imagebuilder/configuration.py @@ -545,7 +545,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: v1alpha1\n"\ - "SDK Package Version: 1.2.0".\ + "SDK Package Version: 1.2.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/flightctl/imagebuilder_README.md b/flightctl/imagebuilder_README.md index 5356913..0c38efe 100644 --- a/flightctl/imagebuilder_README.md +++ b/flightctl/imagebuilder_README.md @@ -4,7 +4,7 @@ Image Builder service for Flight Control. This service manages image build resou The `flightctl.imagebuilder` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: v1alpha1 -- Package version: 1.2.0 +- Package version: 1.2.1 - Generator version: 7.17.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flightctl.io](https://flightctl.io) diff --git a/flightctl/v1alpha1/__init__.py b/flightctl/v1alpha1/__init__.py index 41513a8..5a8bae4 100644 --- a/flightctl/v1alpha1/__init__.py +++ b/flightctl/v1alpha1/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "1.2.0" +__version__ = "1.2.1" # Define package exports __all__ = [ diff --git a/flightctl/v1alpha1/api_client.py b/flightctl/v1alpha1/api_client.py index 492b1cf..cca6872 100644 --- a/flightctl/v1alpha1/api_client.py +++ b/flightctl/v1alpha1/api_client.py @@ -92,7 +92,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/1.2.0/python' + self.user_agent = 'OpenAPI-Generator/1.2.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/flightctl/v1alpha1/configuration.py b/flightctl/v1alpha1/configuration.py index 8cdf57e..2c7047f 100644 --- a/flightctl/v1alpha1/configuration.py +++ b/flightctl/v1alpha1/configuration.py @@ -545,7 +545,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: v1alpha1\n"\ - "SDK Package Version: 1.2.0".\ + "SDK Package Version: 1.2.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/flightctl/v1alpha1_README.md b/flightctl/v1alpha1_README.md index bb89a4c..df491f4 100644 --- a/flightctl/v1alpha1_README.md +++ b/flightctl/v1alpha1_README.md @@ -4,7 +4,7 @@ The `flightctl.v1alpha1` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: v1alpha1 -- Package version: 1.2.0 +- Package version: 1.2.1 - Generator version: 7.17.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://flightctl.io](https://flightctl.io) diff --git a/pyproject.toml b/pyproject.toml index 3d0174d..da10c69 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] -name = "flightctl" -version = "1.2.0" +name = "flightctl-client" +version = "1.2.1" description = "Flight Control API" authors = [ {name = "The Flight Control Team",email = "team@flightctl.io"}, @@ -77,6 +77,13 @@ disallow_any_generics = true ### This one can be tricky to get passing if you use a lot of untyped libraries #warn_return_any = true +[[tool.mypy.overrides]] +module = [ + "flightctl.v1alpha1.test.*", + "flightctl.imagebuilder.test.*", +] +ignore_errors = true + [[tool.mypy.overrides]] module = [ "flightctl.configuration", diff --git a/setup.py b/setup.py index cbfb78a..1134969 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "flightctl" -VERSION = "1.2.0" +VERSION = "1.2.1" PYTHON_REQUIRES = ">= 3.9" REQUIRES = [ "urllib3 >= 2.1.0, < 3.0.0",