Zededa KubernetesGitOps API
APIs for managing GitOps configurations and continuous deployment from Git repositories to Kubernetes clusters
APIs for managing GitOps configurations and continuous deployment from Git repositories to Kubernetes clusters
swagger: '2.0'
info:
title: ZEDEDA App Profiles Service AppProfileService KubernetesGitOps API
description: The ZEDEDA App Profiles Service is part of ZEDEDA Edge Orchestration Platform. This service enables customers to define their app profiles on ZEDEDA platform and to manage them remotely.
termsOfService: https://www.zededa.com/terms
version: '1.0'
contact:
name: ZEDEDA API Support
url: https://www.zededa.com/support
email: support@zededa.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
basePath: /api
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: KubernetesGitOps
description: APIs for managing GitOps configurations and continuous deployment from Git repositories to Kubernetes clusters
paths:
/v1/cluster/instances/kubernetes/gitrepos:
get:
summary: List all GitRepo configurations
description: "Retrieve a list of all GitRepo configurations with their status and summary information. Includes statistics about sync status and resource counts.\n\n**Example Request:**\n```\nGET /v1/cluster/instances/kubernetes/gitrepos\n```\n\n**Example Response:**\n```json\n{\n \"totalCount\": 2,\n \"stateSummary\": {\n \"description\": \"GitRepo Status Summary\",\n \"total\": 2,\n \"values\": {\n \"Active\": 1,\n \"Pending\": 1\n }\n },\n \"gitrepos\": [\n {\n \"id\": \"gitrepo-abc123\",\n \"name\": \"app-manifests\",\n \"title\": \"Application Manifests Repository\",\n \"description\": \"Git repository containing production application manifests\",\n \"workspace\": \"default\",\n \"status\": {\n \"display\": {\n \"ready_bundle_deployments\": \"3/3\",\n \"state\": \"Active\"\n }\n },\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"updated_at\": \"2024-01-15T11:00:00Z\"\n },\n {\n \"id\": \"gitrepo-def456\",\n \"name\": \"helm-charts\",\n \"title\": \"Helm Charts Repository\",\n \"description\": \"Repository containing Helm chart definitions\",\n \"workspace\": \"default\",\n \"status\": {\n \"display\": {\n \"ready_bundle_deployments\": \"0/2\",\n \"state\": \"Pending\"\n }\n },\n \"created_at\": \"2024-01-14T15:20:00Z\",\n \"updated_at\": \"2024-01-14T15:25:00Z\"\n }\n ]\n}\n```"
operationId: KubernetesGitOps_ListGitRepos
responses:
'200':
description: Successfully retrieved GitRepo configuration list
schema:
$ref: '#/definitions/GitRepoListResponse'
'400':
description: Bad Request. The API gateway did not process the request because of invalid value of filter parameters.
schema:
$ref: '#/definitions/ZsrvResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
schema:
$ref: '#/definitions/ZsrvResponse'
'403':
description: Forbidden. User does not have permission to list GitRepo configurations.
schema:
$ref: '#/definitions/ZsrvResponse'
'500':
description: Internal Server Error. Failed to retrieve GitRepo list due to server error.
schema:
$ref: '#/definitions/ZsrvResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- KubernetesGitOps
parameters:
- name: X-Request-Id
in: header
required: false
description: User-Agent specified id to track a request
type: string
post:
summary: Create a new GitRepo configuration
description: "Create a new GitRepo configuration to enable continuous deployment from a Git repository. This allows automatic synchronization of Kubernetes manifests or Helm charts from a Git repository to target clusters.\n\n**Example Request:**\n```json\n{\n \"metadata\": {\n \"name\": \"app-manifests\",\n \"title\": \"Application Manifests Repository\",\n \"description\": \"Git repository containing production application manifests\"\n },\n \"data\": {\n \"project_id\": \"proj-12345\",\n \"repo_details\": {\n \"url\": \"https://github.com/myorg/k8s-manifests.git\",\n \"branch\": \"main\",\n \"path_list\": [\"applications/\", \"ingress/\"]\n },\n \"auth\": {\n \"git\": {\n \"secret\": {\n \"type\": \"SECRET_TYPE_OPAQUE\",\n \"name\": \"git-credentials\"\n }\n }\n },\n \"target\": {\n \"type\": \"GIT_REPO_TARGET_TYPE_CLUSTER\",\n \"value\": \"cluster-abc123\"\n }\n }\n}\n```\n\n**Example Response:**\n```json\n{\n \"operationType\": \"OPS_TYPE_UNSPECIFIED\",\n \"operationStatus\": \"OPS_STATUS_UNSPECIFIED\",\n \"objectKind\": \"\",\n \"objectId\": \"gitrepo-abc123\",\n \"objectName\": \"app-manifests\",\n \"objectRevision\": \"\",\n \"objectType\": \"OBJECT_TYPE_UNSPECIFIED\",\n \"operationTime\": \"\",\n \"startTime\": \"\",\n \"endTime\": \"\",\n \"user\": \"\",\n \"httpStatusCode\": 201,\n \"httpStatusMsg\": \"\",\n \"jobId\": \"\",\n \"error\": [\n {\n \"ec\": \"zMsgSucess\",\n \"location\": \"\",\n \"details\": \"\"\n }\n ]\n}\n```"
operationId: KubernetesGitOps_CreateGitRepo
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/ZsrvResponse'
'201':
description: Successfully created GitRepo configuration
schema:
$ref: '#/definitions/ZsrvResponse'
'400':
description: Bad Request. Invalid GitRepo configuration or missing required fields.
schema:
$ref: '#/definitions/ZsrvResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
schema:
$ref: '#/definitions/ZsrvResponse'
'403':
description: Forbidden. User does not have permission to create GitRepo configurations.
schema:
$ref: '#/definitions/ZsrvResponse'
'409':
description: Conflict. GitRepo configuration with the same name already exists.
schema:
$ref: '#/definitions/ZsrvResponse'
'500':
description: Internal Server Error. Failed to create GitRepo configuration due to server error.
schema:
$ref: '#/definitions/ZsrvResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/GitRepoCreateRequest'
- name: X-Request-Id
in: header
required: false
description: User-Agent specified id to track a request
type: string
tags:
- KubernetesGitOps
/v1/cluster/instances/kubernetes/gitrepos/id/{gitrepoId}:
get:
summary: Get GitRepo configuration by ID
description: "Retrieve detailed information about a specific GitRepo configuration including its current status, sync information, and metadata.\n\n**Example Request:**\n```\nGET /v1/cluster/instances/kubernetes/gitrepos/id/gitrepo-abc123\n```\n\n**Example Response:**\n```json\n{\n \"id\": \"gitrepo-abc123\",\n \"name\": \"app-manifests\",\n \"title\": \"Application Manifests Repository\",\n \"description\": \"Git repository containing production application manifests\",\n \"workspace\": \"default\",\n \"data\": {\n \"project_id\": \"proj-12345\",\n \"repo_details\": {\n \"url\": \"https://github.com/myorg/k8s-manifests.git\",\n \"branch\": \"main\",\n \"commit\": \"a1b2c3d4e5f6\",\n \"path_list\": [\"applications/\", \"ingress/\"]\n },\n \"target\": {\n \"type\": \"GIT_REPO_TARGET_TYPE_CLUSTER\",\n \"value\": \"cluster-abc123\"\n }\n },\n \"status\": {\n \"display\": {\n \"ready_bundle_deployments\": \"3/3\",\n \"state\": \"Active\"\n },\n \"conditions\": [\n {\n \"type\": \"Ready\",\n \"status\": \"True\",\n \"message\": \"GitRepo is ready and syncing\"\n }\n ],\n \"resource_counts\": {\n \"ready\": 3,\n \"desired_ready\": 3\n }\n },\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"updated_at\": \"2024-01-15T11:00:00Z\",\n \"created_by\": \"user@example.com\",\n \"updated_by\": \"user@example.com\"\n}\n```"
operationId: KubernetesGitOps_GetGitRepo
responses:
'200':
description: Successfully retrieved GitRepo configuration
schema:
$ref: '#/definitions/GitRepoGetResponse'
'400':
description: Bad Request. Invalid GitRepo ID format.
schema:
$ref: '#/definitions/ZsrvResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
schema:
$ref: '#/definitions/ZsrvResponse'
'403':
description: Forbidden. User does not have permission to view this GitRepo configuration.
schema:
$ref: '#/definitions/ZsrvResponse'
'404':
description: Not Found. GitRepo configuration with the specified ID does not exist.
schema:
$ref: '#/definitions/ZsrvResponse'
'500':
description: Internal Server Error. Failed to retrieve GitRepo configuration due to server error.
schema:
$ref: '#/definitions/ZsrvResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: gitrepoId
description: 'Unique identifier of the GitRepo (required). Example: ''gitrepo-abc123'''
in: path
required: true
type: string
- name: X-Request-Id
in: header
required: false
description: User-Agent specified id to track a request
type: string
tags:
- KubernetesGitOps
delete:
summary: Delete GitRepo configuration
description: "Delete a GitRepo configuration. This will stop the synchronization from the Git repository and remove all associated resources from the target clusters. This action is irreversible.\n\n**Example Request:**\n```\nDELETE /v1/cluster/instances/kubernetes/gitrepos/id/gitrepo-abc123\n```\n\n**Example Response:**\n```json\n{\n \"operationType\": \"OPS_TYPE_UNSPECIFIED\",\n \"operationStatus\": \"OPS_STATUS_UNSPECIFIED\",\n \"objectKind\": \"\",\n \"objectId\": \"gitrepo-abc123\",\n \"objectName\": \"app-manifests\",\n \"objectRevision\": \"\",\n \"objectType\": \"OBJECT_TYPE_UNSPECIFIED\",\n \"operationTime\": \"\",\n \"startTime\": \"\",\n \"endTime\": \"\",\n \"user\": \"\",\n \"httpStatusCode\": 200,\n \"httpStatusMsg\": \"\",\n \"jobId\": \"\",\n \"error\": [\n {\n \"ec\": \"zMsgSucess\",\n \"location\": \"\",\n \"details\": \"\"\n }\n ]\n}\n```\n\n**Warning:** This operation will remove the GitRepo configuration and stop synchronization. All resources deployed through this GitRepo will be removed from target clusters.\n\n**Note:** The gitrepo_id parameter is **required** and must be a valid GitRepo identifier."
operationId: KubernetesGitOps_DeleteGitRepo
responses:
'200':
description: Successfully deleted GitRepo configuration
schema:
$ref: '#/definitions/ZsrvResponse'
'400':
description: Bad Request. Invalid GitRepo ID format.
schema:
$ref: '#/definitions/ZsrvResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
schema:
$ref: '#/definitions/ZsrvResponse'
'403':
description: Forbidden. User does not have permission to delete this GitRepo configuration.
schema:
$ref: '#/definitions/ZsrvResponse'
'404':
description: Not Found. GitRepo configuration with the specified ID does not exist.
schema:
$ref: '#/definitions/ZsrvResponse'
'409':
description: Conflict. Cannot delete GitRepo configuration because it is currently in use or in a transitioning state.
schema:
$ref: '#/definitions/ZsrvResponse'
'500':
description: Internal Server Error. Failed to delete GitRepo configuration due to server error.
schema:
$ref: '#/definitions/ZsrvResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: gitrepoId
description: 'Unique identifier of the GitRepo (required). Example: ''gitrepo-abc123'''
in: path
required: true
type: string
- name: X-Request-Id
in: header
required: false
description: User-Agent specified id to track a request
type: string
tags:
- KubernetesGitOps
put:
summary: Update GitRepo configuration
description: "Update an existing GitRepo configuration. This allows modification of repository details, authentication settings, and target configuration. The GitRepo name cannot be changed after creation.\n\n**Example Request:**\n```json\n{\n \"gitrepo_id\": \"gitrepo-abc123\",\n \"metadata\": {\n \"name\": \"app-manifests\",\n \"title\": \"Updated Application Manifests Repository\",\n \"description\": \"Updated Git repository containing production application manifests\"\n },\n \"data\": {\n \"project_id\": \"proj-12345\",\n \"repo_details\": {\n \"url\": \"https://github.com/myorg/k8s-manifests.git\",\n \"branch\": \"production\",\n \"path_list\": [\"applications/\", \"ingress/\", \"monitoring/\"]\n },\n \"auth\": {\n \"git\": {\n \"secret\": {\n \"type\": \"SECRET_TYPE_OPAQUE\",\n \"name\": \"updated-git-credentials\"\n }\n }\n },\n \"target\": {\n \"type\": \"GIT_REPO_TARGET_TYPE_CLUSTER_GROUP\",\n \"value\": \"production-clusters\"\n }\n }\n}\n```\n\n**Example Response:**\n```json\n{\n \"operationType\": \"OPS_TYPE_UNSPECIFIED\",\n \"operationStatus\": \"OPS_STATUS_UNSPECIFIED\",\n \"objectKind\": \"\",\n \"objectId\": \"gitrepo-abc123\",\n \"objectName\": \"app-manifests\",\n \"objectRevision\": \"\",\n \"objectType\": \"OBJECT_TYPE_UNSPECIFIED\",\n \"operationTime\": \"\",\n \"startTime\": \"\",\n \"endTime\": \"\",\n \"user\": \"\",\n \"httpStatusCode\": 200,\n \"httpStatusMsg\": \"\",\n \"jobId\": \"\",\n \"error\": [\n {\n \"ec\": \"zMsgSucess\",\n \"location\": \"\",\n \"details\": \"\"\n }\n ]\n}\n```"
operationId: KubernetesGitOps_UpdateGitRepo
responses:
'200':
description: Successfully updated GitRepo configuration
schema:
$ref: '#/definitions/ZsrvResponse'
'400':
description: Bad Request. Invalid GitRepo configuration or missing required fields.
schema:
$ref: '#/definitions/ZsrvResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
schema:
$ref: '#/definitions/ZsrvResponse'
'403':
description: Forbidden. User does not have permission to update this GitRepo configuration.
schema:
$ref: '#/definitions/ZsrvResponse'
'404':
description: Not Found. GitRepo configuration with the specified ID does not exist.
schema:
$ref: '#/definitions/ZsrvResponse'
'409':
description: Conflict. Cannot update GitRepo configuration due to conflicting state.
schema:
$ref: '#/definitions/ZsrvResponse'
'500':
description: Internal Server Error. Failed to update GitRepo configuration due to server error.
schema:
$ref: '#/definitions/ZsrvResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: gitrepoId
description: 'Unique identifier of the GitRepo to update (required). Example: ''gitrepo-abc123'''
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
type: object
properties:
metadata:
$ref: '#/definitions/GitRepoMetadata'
description: Metadata for the GitRepo (name cannot be updated, required)
data:
$ref: '#/definitions/GitRepoData'
description: Data specification for the GitRepo (required)
description: Request message for updating an existing GitRepo configuration
title: GitRepo update request
required:
- gitrepo_id
- metadata
- data
- name: X-Request-Id
in: header
required: false
description: User-Agent specified id to track a request
type: string
tags:
- KubernetesGitOps
definitions:
GitAuthConfig:
type: object
properties:
secret:
$ref: '#/definitions/GitRepoSecretConfig'
description: Secret configuration for Git authentication
description: Authentication configuration for Git repository access
title: Git authentication configuration
ZcOpsType:
type: string
enum:
- OPS_TYPE_UNSPECIFIED
- OPS_TYPE_READ
- OPS_TYPE_DELETE
- OPS_TYPE_CREATE
- OPS_TYPE_UPDATE
- OPS_TYPE_LIST
default: OPS_TYPE_UNSPECIFIED
title: ZedCloud internal operation type
ObjectType:
type: string
enum:
- OBJECT_TYPE_UNSPECIFIED
- OBJECT_TYPE_USER
- OBJECT_TYPE_EDGE_NODE
- OBJECT_TYPE_EDGE_APP
- OBJECT_TYPE_IMAGE
- OBJECT_TYPE_EDGE_APP_INSTANCE
- OBJECT_TYPE_PROJECT
- OBJECT_TYPE_NETWORK
- OBJECT_TYPE_DATASTORE
- OBJECT_TYPE_SERVICE
- OBJECT_TYPE_SERVICE_INSTANCE
- OBJECT_TYPE_ENTERPRISE
- OBJECT_TYPE_ROLE
- OBJECT_TYPE_CREDENTIAL
- OBJECT_TYPE_NETWORK_INSTANCE
- OBJECT_TYPE_VOLUME_INSTANCE
- OBJECT_TYPE_REALM
- OBJECT_TYPE_AUTHPROFILE
- OBJECT_TYPE_POLICY
- OBJECT_TYPE_APP_POLICY
- OBJECT_TYPE_CLUSTER_INSTANCE
- OBJECT_TYPE_PLUGIN
- OBJECT_TYPE_DOC_POLICY
- OBJECT_TYPE_ORCHESTRATOR_CLUSTER
- OBJECT_TYPE_TAGS
- OBJECT_TYPE_EDGE_NODE_INTERFACE
- OBJECT_TYPE_DEPLOYMENT
- OBJECT_TYPE_ENTITLEMENTS
- OBJECT_TYPE_DATA_STREAM
- OBJECT_TYPE_API_USAGE
- OBJECT_TYPE_APP_INSTANCE_SNAPSHOT
- OBJECT_TYPE_PATCH_ENVELOPE
- OBJECT_TYPE_RESOURCE_USAGE_TRACK
- OBJECT_TYPE_PATCH_ENVELOPE_REFERENCE
- OBJECT_TYPE_DEV_PASSTHROUGH
- OBJECT_TYPE_EDGE_NODE_CLUSTER
- OBJECT_TYPE_ASSET_GROUP
- OBJECT_TYPE_APP_PROFILE
- OBJECT_TYPE_PROFILE_DEPLOYMENT
- OBJECT_TYPE_ZKS_INSTANCE
- OBJECT_TYPE_CLUSTER_GROUP
default: OBJECT_TYPE_UNSPECIFIED
GitRepoGetResponse:
type: object
properties:
id:
type: string
description: Unique identifier of the GitRepo
name:
type: string
description: Name of the GitRepo configuration
title:
type: string
description: Display title of the GitRepo configuration
description:
type: string
description: Description of the GitRepo configuration
workspace:
type: string
description: Workspace where the GitRepo is deployed
data:
$ref: '#/definitions/GitRepoData'
description: Specification details
status:
$ref: '#/definitions/GitRepoGetStatus'
description: Current status information
events:
type: array
items:
$ref: '#/definitions/GitRepoEvents'
description: List of events related to the GitRepo
createdAt:
type: string
format: date-time
description: Timestamp when the GitRepo was created
updatedAt:
type: string
format: date-time
description: Timestamp when the GitRepo was last updated
createdBy:
type: string
description: User who created the GitRepo
updatedBy:
type: string
description: User who last updated the GitRepo
description: Complete response for GitRepo GET operations including metadata, specification, and status
title: GitRepo get response
GitRepoResourceStatusMap:
type: object
properties:
apiVersion:
type: string
description: API version of the resource
kind:
type: string
description: Kind of Kubernetes resource
name:
type: string
description: Name of the resource
namespace:
type: string
description: Namespace of the resource
state:
type: string
description: State of the resource
description: Status information for individual resources with detailed mapping
title: GitRepo resource status map
protobufAny:
type: object
properties:
typeUrl:
type: string
value:
type: string
format: byte
GitRepoTargetConfig:
type: object
properties:
type:
$ref: '#/definitions/GitRepoTargetType'
description: Type of target for GitRepo deployment (required)
value:
type: string
description: Target value (cluster ID, cluster group ID, etc.). Required when type is CLUSTER or CLUSTER_GROUP, not required for ALL_CLUSTER
description: Target configuration specifying where the GitRepo should be deployed
title: GitRepo target configuration
required:
- type
GitRepoAuthConfig:
type: object
properties:
encodedCertificates:
type: string
description: Base64 encoded certificates for TLS authentication
insecureSkipTlsVerify:
type: boolean
description: Skip TLS certificate verification
git:
$ref: '#/definitions/GitAuthConfig'
description: Git-specific authentication configuration
helm:
$ref: '#/definitions/HelmAuthConfig'
description: Helm-specific authentication configuration
description: Complete authentication configuration for GitRepo including certificates and credentials
title: GitRepo authentication configuration
GitRepoData:
type: object
properties:
projectId:
type: string
description: Project ID where the GitRepo belongs (required)
repoDetails:
$ref: '#/definitions/GitRepoRepositoryDetails'
description: Repository details and configuration (required)
auth:
$ref: '#/definitions/GitRepoAuthConfig'
description: Authentication configuration
target:
$ref: '#/definitions/GitRepoTargetConfig'
description: Target deployment configuration (required)
description: Complete data specification for a GitRepo configuration
title: GitRepo data
required:
- projectId
- repoDetails
- target
GitRepoGetStatus:
type: object
properties:
display:
$ref: '#/definitions/GitRepoStatusDisplay'
description: Display status information
conditions:
type: array
items:
$ref: '#/definitions/GitRepoCondition'
description: List of conditions describing the current state
resourceCounts:
$ref: '#/definitions/GitRepoResourceCounts'
description: Resource count information
resourceStatusMap:
type: array
items:
$ref: '#/definitions/GitRepoResourceStatusMap'
description: Detailed status map of individual resources managed by this GitRepo
state:
$ref: '#/definitions/GitRepoState'
description: Current state information for the GitRepo
summary:
type: object
description: Summary information for the GitRepo
description: Status information for GitRepo including sync status and resource conditions
title: GitRepo get status
GitRepoState:
type: object
properties:
error:
type: boolean
description: Indicates if the GitRepo is in an error state
message:
type: string
description: Status message providing additional details about the GitRepo state
name:
type: string
description: current state name
transitioning:
type: boolean
description: Indicates if the GitRepo is currently undergoing state transition
description: Current operational state of a GitRepo
title: GitRepo state
GitRepoEvents:
type: object
properties:
reason:
type: string
description: Reason for the event
type:
type: string
description: Type of the event
message:
type: string
description: Detailed message about the event
lastUpdateTime:
type: string
format: date-time
description: Last time the event was updated
description: Events related to GitRepo operations
title: GitRepo events
ZcOpsStatus:
type: string
enum:
- OPS_STATUS_UNSPECIFIED
- OPS_STATUS_PENDING
- OPS_STATUS_ONGOING
- OPS_STATUS_COMPLETE
default: OPS_STATUS_UNSPECIFIED
description: "- OPS_STATUS_PENDING: In rare cases, system may not start operation when it was requested. Client will be notified that operation is PENDING\n - OPS_STATUS_ONGOING: system will start the operation, but at the time response was generated, operation is still ONGOING.\n - OPS_STATUS_COMPLETE: Even if the result of the operations may result in failure, but the OpsStatus will marked COMPLETE for almost all cases."
title: ZedCloud internal operation status
HelmAuthConfig:
type: object
properties:
secret:
$ref: '#/definitions/GitRepoSecretConfig'
description: Secret configuration for Helm authentication
helmRepoUrlRegex:
type: string
description: Regular expression pattern to match Helm repository URLs
description: Authentication configuration for Helm repository access
title: Helm authentication configuration
GitRepoMetadata:
type: object
properties:
name:
type: string
description: Name of the GitRepo configuration (required)
title:
type: string
description: Display title of the GitRepo configuration
description:
type: string
description: Description of the GitRepo configuration
description: Metadata information for a GitRepo configuration
title: GitRepo metadata
required:
- name
ZsrvError:
type: object
properties:
ec:
$ref: '#/definitions/ZsrvErrorCode'
title: 'Enumrated error code, describes more granular numerical
value than just httpStatus'
location:
type: string
title: 'Ignore: Internal field only'
details:
type: string
title: Field captures string description of details
googlerpcStatus:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
$ref: '#/definitions/protobufAny'
GitRepoResourceCounts:
type: object
properties:
desiredReady:
type: integer
format: int32
description: Desired ready count
missing:
type: integer
format: int32
description: Missing resources count
modified:
type: integer
format: int32
description: Modified resources count
notReady:
type: integer
format: int32
description: Not ready resources count
orphaned:
type: integer
format: int32
description: Orphaned resources count
ready:
type: integer
format: int32
description: Ready resources count
unknown:
type: integer
format: int32
description: Unknown resources count
waitApplied:
type: integer
format: int32
description: Wait applied resources count
description: Count of resources in different states
title: GitRepo resource counts
GitRepoTargetType:
type: string
enum:
- GIT_REPO_TARGET_TYPE_UNKNOWN
- GIT_REPO_TARGET_TYPE_ALL_CLUSTER
- GIT_REPO_TARGET_TYPE_CLUSTER
- GIT_REPO_TARGET_TYPE_CLUSTER_GROUP
default: GIT_REPO_TARGET_TYPE_UNKNOWN
title: GitRepo Target Types
GitRepoRepositoryDetails:
type: object
properties:
url:
type: string
description: Git repository URL (required)
branch:
type: string
description: Git branch to track
commit:
type: string
description: Specific git commit hash
pathList:
type: array
items:
type: string
description: List of paths within the repository to monitor
description: Repository configuration details for GitRepo
title: GitRepo repository details
required:
- url
GitRepoStatusDisplay:
type: object
properties:
readyBundleDeployments:
type: string
description: Ready bundle deployments count
state:
type: string
description: Current state of the GitRepo
description: Display-friendly status information
title: GitRepo status display
SecretType:
type: string
enum:
- SECRET_TYPE_UNSPECIFIED
- SECRET_TYPE_SSH
- SECRET_TYPE_BASIC_AUTH
- SECRET_TYPE_NONE
default: SECRET_TYPE_UNSPECIFIED
title: Kubernetes Secret Types
ZsrvResponse:
type: object
properties:
operationType:
$ref: '#/definitions/ZcOpsType'
title: "Describes one of the operations type : possible values\n Read/Delete/Create/Update/List"
operationStatus:
$ref: '#/definitions/ZcOpsStatus'
title: if this is log running job
objectKind:
type: string
title: zedcloud object kind on which the operation was performed
objectId:
type: string
title: Unique value identifies the object that was operated on
objectName:
type: string
title: name of the object
objectRevision:
type: string
title: 'object revision post the operation, note Read operation
doesn''t change the revision'
objectType:
$ref: '#/definitions/ObjectType'
operationTime:
type: string
title: time of operation
startTime:
type: string
title: total time taken by operations
endTime:
type: string
user:
type: string
title: the operation is performed on behalf of this user
httpStatusCode:
type: integer
format: int32
title: http response
httpStatusMsg:
type: string
title: summary of the error in text format
jobId:
type: string
title: for tracking asynchronous tasks
error:
type: array
items:
$ref: '#/definitions/ZsrvError'
title: 'one or more errors will be set if the operation failed
i.e. httpStatusCode != 2xx'
GitRepoCreateRequest:
type: object
properties:
metadata:
$ref: '#/definitions/GitRepoMetadata'
description: Metadata for the GitRepo (required)
data:
$ref: '#/definitions/GitRepoData'
description: Data specification for the GitRepo (required)
description: Request message for creating a new GitRepo configuration
title: GitRepo create request
required:
- metadata
- data
ZsrvErrorCode:
type: string
enum:
- zMsgErrorNone
- zMsgSucess
- NotFound
- AlreadyExists
- VersionMismatch
- RangeError
- LargeResult
- IncompleteData
- InvalidData
- FunctionUnsupported
- NoMemory
- SendFailure
- Timeout
- BadReqBody
- BadReqParam
- InvalidFieldFormat
- UrlNotFound
- ApiVersionNotSupported
- Unauthorized
- Forbidden
- Conflict
- NotModified
- DependencyConflict
- JsonFmtError
- ProtoFmtError
- CertError
- DataBaseConnection
- DBError
- zMsgAccepted
- zMsgCr
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zededa/refs/heads/main/openapi/zededa-kubernetesgitops-api-openapi.yml