openapi: 3.0.0
info:
title: Meshery Cloud
description: Documentation for Meshery Cloud REST APIs.
version: v0.8.0
contact:
name: Meshery Maintainers
email: maintainers@meshery.io
url: https://meshery.io
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://cloud.meshery.io
description: Meshery Cloud production server URL
- url: https://staging-cloud.meshery.io
description: Meshery Cloud staging server URL
- url: http://localhost:9876
description: Meshery Cloud development server URL (controlled via PORT environment variable)
tags:
- name: Badge_Badge
- name: credential_credentials
description: Operations related to integration credentials
- name: Environment_environments
description: APIs for environments
- name: Evaluation_Evaluation
description: Operations related to design evaluation
- name: Feature_Features
description: Operations related to features and entitlements
- name: Key_Key
description: Operations related to authorization keys
- name: Key_users
description: Operations related to users and their authorization keys
- name: Keychain_Keychain
description: Operations related to keychains
- name: Model_Models
description: Operations related to mesh models
- name: Organization_Organizations
description: Operations related to organization management
- name: role_roles
description: Operations related to roles and role assignments
- name: schedule_scheduler
description: Operations related to scheduled tasks
- name: Team_teams
description: >-
A Team is a group of one or more users. Teams are used for assigning permissions in organizations and workspaces.
Learn more at https://docs.meshery.io/concepts/logical/teams
- name: View_views
description: APIs for managing Meshery views.
- name: Workspace_workspaces
description: APIs for Meshery Cloud workspaces.
- name: Workspace_views
description: APIs for Meshery Cloud views associated with workspaces.
- name: Workspace_designs
description: APIs for Meshery Cloud designs associated with workspaces.
- name: Academy_API_Academy
description: Operations related to Meshery Academy content and curriculum
- name: Design_designs
description: Operations related to designs and infrastructure patterns
- name: Events_events
description: APIs for Meshery Cloud events.
- name: Invitation_Invitation
description: Operations related to invitation
- name: Plan_Plans
description: Operations related to plans
- name: Subscription_Subscriptions
description: Operations related to subscriptions
- name: Subscription_Plans
description: Operations related to plans
- name: Subscription_Payment Processors
description: Operations related to payment processors
- name: token_tokens
description: Operations related to user tokens and sessions
paths:
/api/organizations/badges/{id}:
delete:
x-internal:
- cloud
operationId: deleteBadgeById
tags:
- Badge_Badge
summary: Delete a badge by its ID
parameters:
- name: id
in: path
description: Unique identifier
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Badge deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
get:
x-internal:
- cloud
operationId: getBadgeById
tags:
- Badge_Badge
summary: Get a badge by its ID
parameters:
- name: id
in: path
description: Unique identifier
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
content:
application/json:
schema:
type: object
required:
- id
- label
- name
- org_id
- description
- image_url
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available .
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
description: Timestamp when the resource was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/organizations/badges:
post:
x-internal:
- cloud
operationId: createOrUpdateBadge
tags:
- Badge_Badge
summary: Create a new badge or update an existing badge
requestBody:
content:
application/json:
schema:
type: object
description: Payload for creating or updating a badge.
required:
- label
- name
- org_id
- description
- image_url
properties:
id:
x-go-name: ID
description: Existing badge ID for updates; omit on create.
x-oapi-codegen-extra-tags:
db: id
json: id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available.
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
required: true
responses:
'201':
content:
application/json:
schema:
type: object
required:
- id
- label
- name
- org_id
- description
- image_url
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available .
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
description: Timestamp when the resource was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/badges:
get:
x-internal:
- cloud
operationId: getAvailableBadges
tags:
- Badge_Badge
summary: Get available badges
responses:
'200':
description: Available badges
content:
application/json:
schema:
type: object
properties:
badges:
type: object
additionalProperties:
type: object
required:
- id
- label
- name
- org_id
- description
- image_url
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available .
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: >-
A description of the milestone achieved, often including criteria for receiving this
recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
description: Timestamp when the resource was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
description: The badges of the badgespage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/badges:
put:
x-internal:
- cloud
operationId: assignBadges
tags:
- Badge_Badge
summary: Assign badges to a user
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
badges:
type: array
items:
type: string
description: The badges of the badgeassignment.
user_id:
type: string
description: ID of the user who owns or created this resource.
maxLength: 500
format: uuid
notify:
type: boolean
description: The notify of the badgeassignment.
responses:
'200':
description: Badge assignment result
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/integrations/credentials:
get:
x-internal:
- cloud
tags:
- credential_credentials
summary: Get credentials
operationId: getUserCredentials
description: Retrieves all credentials belonging to the authenticated user.
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Credentials response
content:
application/json:
schema:
type: object
description: A paginated list of credentials.
required:
- credentials
- total_count
- page
- page_size
properties:
credentials:
type: array
items:
x-go-type: Credential
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 1
description: The credentials of the credentialpage.
total_count:
type: integer
description: Total number of credentials across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of credentials per page.
x-order: 4
minimum: 1
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- credential_credentials
summary: Save credential
operationId: saveUserCredential
description: Saves a new credential for the authenticated user.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
responses:
'201':
description: Credential saved
content:
application/json:
schema:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
tags:
- credential_credentials
summary: Update credential
operationId: updateUserCredential
description: Updates an existing credential for the authenticated user.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Credential updated
content:
application/json:
schema:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- credential_credentials
summary: Delete credential
operationId: deleteUserCredential
description: Deletes a credential belonging to the authenticated user.
parameters:
- name: credentialId
in: query
description: Credential ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Credential deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/integrations/credentials/{id}:
get:
x-internal:
- cloud
tags:
- credential_credentials
summary: Get credential by ID
operationId: getCredentialById
description: Retrieves a specific credential by its ID.
parameters:
- name: id
in: path
description: Credential ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Credential response
content:
application/json:
schema:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/environments:
post:
tags:
- Environment_environments
operationId: createEnvironment
summary: Create an environment
description: Creates a new environment
requestBody:
description: Body for creating environment
required: true
content:
application/json:
schema:
properties:
name:
description: >-
An environment is a collection of resources. Provide a name that meaningfully represents these
resources. You can change the name of the environment even after its creation.
type: string
x-go-type-skip-optional-pointer: true
description:
description: >-
An environment is a collection of resources, such as connections & credentail. Provide a detailed
description to clarify the purpose of this environment and the types of resources it encompasses.
You can modify the description at any Time. Learn more about environments
[here](https://docs.meshery.io/concepts/logical/environments).
type: string
x-go-type-skip-optional-pointer: true
organization_id:
type: string
description: >-
Select an organization in which you want to create this new environment. Keep in mind that the
organization cannot be changed after creation.
x-go-type-skip-optional-pointer: true
x-go-name: OrgId
x-oapi-codegen-extra-tags:
json: organization_id
maxLength: 500
format: uuid
required:
- name
- organization_id
responses:
'201':
description: Created environment
content:
application/json:
schema:
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials. Learn
more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
get:
tags:
- Environment_environments
operationId: getEnvironments
summary: Get all environments
description: Gets all environments
parameters:
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: orgId
in: query
description: User's organization ID
schema:
type: string
required: true
responses:
'200':
description: Environments
content:
application/json:
schema:
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
environments:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Environment
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Environments associated with this resource.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/environments/{environmentId}:
get:
tags:
- Environment_environments
operationId: getEnvironmentById
summary: Get environment by ID
parameters:
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
- name: orgId
in: query
description: User's organization ID
schema:
type: string
required: true
responses:
'200':
description: Environment page
content:
application/json:
schema:
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
environments:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Environment
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Environments associated with this resource.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
tags:
- Environment_environments
operationId: updateEnvironment
summary: Update an environment
parameters:
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
requestBody:
description: Body for creating environment
required: true
content:
application/json:
schema:
properties:
name:
description: >-
An environment is a collection of resources. Provide a name that meaningfully represents these
resources. You can change the name of the environment even after its creation.
type: string
x-go-type-skip-optional-pointer: true
description:
description: >-
An environment is a collection of resources, such as connections & credentail. Provide a detailed
description to clarify the purpose of this environment and the types of resources it encompasses.
You can modify the description at any Time. Learn more about environments
[here](https://docs.meshery.io/concepts/logical/environments).
type: string
x-go-type-skip-optional-pointer: true
organization_id:
type: string
description: >-
Select an organization in which you want to create this new environment. Keep in mind that the
organization cannot be changed after creation.
x-go-type-skip-optional-pointer: true
x-go-name: OrgId
x-oapi-codegen-extra-tags:
json: organization_id
maxLength: 500
format: uuid
required:
- name
- organization_id
responses:
'200':
description: Environment page
content:
application/json:
schema:
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
environments:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Environment
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Environments associated with this resource.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Environment_environments
operationId: deleteEnvironment
summary: Delete an environment
parameters:
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Environment deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/environments/{environmentId}/connections:
get:
tags:
- Environment_environments
operationId: getEnvironmentConnections
summary: Get environment connections
parameters:
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
required: false
schema:
type: string
responses:
'200':
description: Environment connections
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
connections:
type: array
items:
type: object
additionalProperties: true
description: The connections of the environmentconnectionspage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/evaluate:
post:
x-internal:
- meshery
tags:
- Evaluation_Evaluation
summary: Evaluate relationships in a design
description: >-
Performs relationship evaluation on a given design, applying policies and updating components and relationships
as needed.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- design
properties:
design:
x-go-type: patternv1beta1.PatternFile
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/pattern
name: patternv1beta1
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May
be manually set by a user or third-party system, but will always be required to be of version
number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models.
Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters
are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a
lower z-index. Note that edges are under nodes despite z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is
drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will
label with the elements id
body-text-wrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red),
hex (e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-fit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
background-width-relative-to:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
background-height-relative-to:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red),
hex (e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex
(e.g.
active-bg-opacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
active-bg-size:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
selection-box-border-width:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours
may be specified by name (e.g. red), hex (e.g.
outside-texture-bg-opacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box of
the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position
is the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
ComponentDefinitions may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view
a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned
the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes of
logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps , this is
herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype characterize
various genealogical relations among and between components. Relationships have selectors,
selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view
a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a
lower z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may
be haystack (very fast, bundled straight edges for which loops and compounds
are unsupported), straight (straight edges with all arrows supported), bezier
(bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled
lines, hierarchically bundled). Note that haystack edges work best with
ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will
not be as aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The
cap may or may not be visible, depending on the shape of the node and the
relative size of the node and edge. Caps other than butt extend beyond the
specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its line
and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced. Learn more
at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is
to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility in
defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is
applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with
a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is
created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with
a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is
created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with
a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is
created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with
a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is
created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
options:
type: object
properties:
returnDiffOnly:
type: boolean
description: If true, only return the diff of changes instead of the complete updated design
enableTrace:
type: boolean
description: If true, include detailed trace information in the response
description: The options of the evaluationrequest.
responses:
'200':
description: Successful evaluation
content:
application/json:
schema:
type: object
description: Schema for the response of a relationship evaluation process in Meshery
required:
- schemaVersion
- design
- actions
properties:
schemaVersion:
type: string
description: Specifies the version of the schema to which the evaluation response conforms.
maxLength: 500
design:
x-go-type: patternv1beta1.PatternFile
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/pattern
name: patternv1beta1
description: >-
The final evaluated design, including all updated components and relationships. This can be either
the complete updated design or only a diff of changes. The version of the design will be
automatically incremented if any modifications are made during the evaluation process. This field
provides a comprehensive view of the design state after all relationship evaluations and policy
applications have been completed.
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number.
May be manually set by a user or third-party system, but will always be required to be of
version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters
are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to
be the canonical reference and that is duplicated by other components should not
be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what
actions a given component supports; e.g. metric-scrape, sub-interface, and
so on. This field is extensible. Entities may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is
drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id)
will label with the elements id
body-text-wrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red),
hex (e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
background-fit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
background-width-relative-to:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
background-height-relative-to:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g.
red), hex (e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the
user. Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
active-bg-opacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
active-bg-size:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
selection-box-border-width:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours
may be specified by name (e.g. red), hex (e.g.
outside-texture-bg-opacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box
of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's
position is the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. ComponentDefinitions may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes
of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps , this is
herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype characterize
various genealogical relations among and between components. Relationships have
selectors, selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may
be haystack (very fast, bundled straight edges for which loops and compounds
are unsupported), straight (straight edges with all arrows supported),
bezier (bundled curved edges), unbundled-bezier (curved edges for use with
manual control points), segments (a series of straight lines), taxi
(right-angled lines, hierarchically bundled). Note that haystack edges work
best with ellipse, rectangle, or similar nodes. Smaller node shapes, like
triangle, will not be as aesthetically pleasing. Also note that edge
endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square.
The cap may or may not be visible, depending on the shape of the node and
the relative size of the node and edge. Caps other than butt extend beyond
the specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its line
and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced. Learn
more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is
to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility
in defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it
is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created /
is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
evaluationHash:
type: string
description: >-
Hash of the input parameters and configuration used for this evaluation. Useful for identifying
duplicate evaluations or caching results.
example: a1b2c3d4e5f6g7h8i9j0
maxLength: 500
timestamp:
type: string
format: date-time
description: ISO 8601 formatted timestamp of when the evaluation was completed.
actions:
type: array
items:
type: object
required:
- op
- value
properties:
op:
type: string
enum:
- update_component
- update_component_configuration
- add_component
- delete_component
- add_relationship
- update_relationship
- delete_relationship
description: The op of the action.
value:
type: object
description: The value of the action.
description: The actions of the evaluationresponse.
'400':
description: Bad request
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/entitlement/features:
get:
x-internal:
- cloud
operationId: getFeatures
tags:
- Feature_Features
summary: Get all features associated with plans
responses:
'200':
description: Features response
content:
application/json:
schema:
type: array
items:
x-go-type: Feature
type: object
required:
- id
- plan_id
- quantity
- name
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta1.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/plan
name: planv1beta1
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
description: Name of the plan
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- monthly
- yearly
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
name:
x-go-type: FeatureName
x-oapi-codegen-extra-tags:
db: name
type: string
x-enum-casing-exempt: true
enum:
- ComponentsInDesign
- RelationshipsInDesign
- DesignsInWorkspace
- WorkspacesInOrganization
- ImageSizeInDesign
- SizePerDesign
description: Enumeration of possible feature types
quantity:
type: number
description: Quantity of the feature allowed, use 9999999999 for unlimited
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
additionalProperties: false
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/organizations/{organizationId}/features:
get:
x-internal:
- cloud
operationId: getFeaturesByOrganization
tags:
- Feature_Features
summary: Get all features associated with plans
parameters:
- name: organizationId
in: path
description: The ID of the organization
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Features response
content:
application/json:
schema:
type: array
items:
x-go-type: Feature
type: object
required:
- id
- plan_id
- quantity
- name
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta1.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/plan
name: planv1beta1
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
description: Name of the plan
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- monthly
- yearly
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
name:
x-go-type: FeatureName
x-oapi-codegen-extra-tags:
db: name
type: string
x-enum-casing-exempt: true
enum:
- ComponentsInDesign
- RelationshipsInDesign
- DesignsInWorkspace
- WorkspacesInOrganization
- ImageSizeInDesign
- SizePerDesign
description: Enumeration of possible feature types
quantity:
type: number
description: Quantity of the feature allowed, use 9999999999 for unlimited
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
additionalProperties: false
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/users/keys:
get:
tags:
- Key_users
operationId: getUserKeys
summary: Get User Keys
description: Get all keys based on roles assigned to user
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Returns user keys based on roles assigned to user
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- keys
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keys:
type: array
items:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keys of the keypage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/keys:
get:
x-internal:
- cloud
tags:
- Key_Key
summary: List key
operationId: getKeys
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Keys fetched
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- keys
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keys:
type: array
items:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keys of the keypage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Key_Key
summary: Create or update a key
operationId: upsertKey
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a key.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
function:
type: string
description: Operation permitted by the key.
x-order: 2
maxLength: 500
category:
type: string
description: Category for the key.
x-order: 3
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-order: 4
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-order: 5
maxLength: 5000
responses:
'200':
description: Key upserted
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/key/{keyId}:
get:
x-internal:
- cloud
tags:
- Key_Key
summary: Get key by ID
operationId: getKeyById
parameters:
- name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Key response
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Key_Key
summary: Delete key
operationId: deleteKey
parameters:
- name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Key deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/keychains:
get:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: List keychains
operationId: getKeychains
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Keychain(s) fetched
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- keychains
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keychains:
type: array
items:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keychains of the keychainpage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Create a keychain
operationId: createKeychain
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Input payload for creating or updating a keychain.
required:
- name
properties:
name:
type: string
description: Name of the keychain.
x-order: 1
minLength: 1
maxLength: 255
owner:
description: Owner of the keychain.
x-order: 2
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Keychain created
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/keychains/{keychainId}:
get:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Get keychain by ID
operationId: getKeychainById
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Keychain fetched
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Update keychain
operationId: updateKeychain
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Input payload for creating or updating a keychain.
required:
- name
properties:
name:
type: string
description: Name of the keychain.
x-order: 1
minLength: 1
maxLength: 255
owner:
description: Owner of the keychain.
x-order: 2
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Keychain updated
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Delete keychain
operationId: deleteKeychain
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Keychain deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/keychains/{keychainId}/{keyId}:
post:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Add key to keychain
operationId: addKeyToKeychain
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Key added to keychain
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: Remove key from keychain
operationId: removeKeyFromKeychain
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Key removed from keychain
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/auth/keychains/{keychainId}/keys:
get:
x-internal:
- cloud
tags:
- Keychain_Keychain
summary: List keys in a keychain
operationId: getKeysOfKeychain
parameters:
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Keys response
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- keys
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keys:
type: array
items:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keys of the keypage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/meshmodels/register:
post:
tags:
- Model_Models
summary: Register mesh models
operationId: registerMeshmodels
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- importBody
- uploadType
- register
properties:
importBody:
oneOf:
- title: File Import
type: object
required:
- fileName
- modelFile
properties:
fileName:
type: string
description: Name of the file being uploaded.
maxLength: 255
modelFile:
type: string
format: file
description: >-
Supported model file formats are: .tar, .tar.gz, and .tgz. See [Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: URL Import
type: object
required:
- url
properties:
url:
type: string
format: uri
description: >-
A direct URL to a single model file, for example:
https://raw.github.com/your-model-file.tar. Supported model file formats are: .tar, .tar.gz,
and .tgz. \n\nFor bulk import of your model use the GitHub connection or CSV files. See
[Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: CSV Import
type: object
required:
- modelCsv
- componentCsv
- relationshipCsv
properties:
modelCsv:
type: string
format: binary
description: Upload a CSV file containing model definitions
componentCsv:
type: string
format: binary
description: Upload a CSV file containing component definitions
relationshipCsv:
type: string
format: binary
description: Upload a CSV file containing relationship definitions
- title: Model Create
type: object
required:
- model
- url
properties:
url:
type: string
description: URI to the source code or package of the model.
format: uri
oneOf:
- title: GitHub
type: string
pattern: ^git://github\.com/[\w.-]+/[\w.-]+(/[\w.-]+/[\w/-]+)?$
description: Git protocol URL for GitHub repository or specific resource path
example: git://github.com/cert-manager/cert-manager/master/deploy/crds
x-metadata:
uiType: url
validationHint: Enter a git protocol URL (e.g., git://github.com/owner/repo)
- title: Artifact Hub
type: string
pattern: >-
^https:\/\/artifacthub\.io\/packages\/(search\?ts_query_web=[\w.-]+|[\w.-]+\/[\w.-]+\/[\w.-]+)$
description: Artifact Hub package URL or search query URL with model name parameter
example: https://artifacthub.io/packages/search?ts_query_web={model-name}
x-metadata:
uiType: url
validationHint: >-
Enter an Artifact Hub URL (e.g.,
https://artifacthub.io/packages/search?ts_query_web={meshery-operator})
uploadType:
type: string
title: Upload method
x-enum-casing-exempt: true
enum:
- file
- urlImport
- csv
- url
enumDescriptions:
- Upload a model file (.tar, .tar.gz, .tgz) from your local system
- Import a model file using a direct URL to the source
- Upload separate CSV files for model definitions, components, and their relationships
description: >-
Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you
have the file on your local system or 'URL Import' if you have the file hosted online.
register:
type: boolean
nullable: false
description: The register of the importrequest.
responses:
'201':
description: Successful registration
content:
application/json:
schema:
type: object
properties:
message:
type: string
'400':
description: Invalid request format
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/integrations/meshmodels/models:
get:
x-internal:
- cloud
tags:
- Model_Models
summary: Get mesh model models
operationId: getMeshModelModels
parameters:
- name: page
in: query
required: false
schema:
type: string
- name: pagesize
in: query
required: false
schema:
type: string
- name: search
in: query
required: false
schema:
type: string
- name: order
in: query
required: false
schema:
type: string
responses:
'200':
description: Model and capabilities registry entries retrieved.
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
models:
type: array
items:
type: object
additionalProperties: true
description: The models of the meshmodelmodelspage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/identity/orgs:
get:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Read organizations
description: Returns organizations for the current user.
operationId: getOrgs
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: all
in: query
description: Get all possible entries
schema:
type: boolean
responses:
'200':
description: Organizations response
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationspage.
'204':
description: No content
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Create an organization
description: Creates a new organization.
operationId: createOrg
requestBody:
description: Body for creating or updating an organization
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: The notify org update of the organization.
preferences:
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
responses:
'201':
description: Single-organization page response
content:
application/json:
schema:
type: object
description: Single-organization wrapper used by current meshery-cloud organization handlers.
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
maxItems: 1
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationpage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/by-domain:
get:
tags:
- Organization_Organizations
summary: Get organization by domain
operationId: getOrgByDomain
parameters:
- name: domain
in: query
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
required:
- id
- name
- country
- region
- description
- owner
- metadata
- created_at
- updated_at
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-oapi-codegen-extra-tags:
db: name
description: Name of the organization.
minLength: 1
maxLength: 255
country:
type: string
x-oapi-codegen-extra-tags:
db: country
description: The country of the organization.
maxLength: 500
region:
type: string
x-oapi-codegen-extra-tags:
db: region
description: The region of the organization.
maxLength: 500
description:
type: string
x-oapi-codegen-extra-tags:
db: description
description: Description of the organization.
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-go-type: OrgMetadata
x-oapi-codegen-extra-tags:
db: metadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: deleted_at
domain:
type: string
nullable: true
x-oapi-codegen-extra-tags:
db: domain
description: The domain of the organization.
maxLength: 500
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Organization not found
'500':
description: Internal server error
/api/identity/orgs/{orgId}:
get:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Read an organization
description: Returns the organization in the single-item page wrapper currently emitted by meshery-cloud.
operationId: getOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Single-organization page response
content:
application/json:
schema:
type: object
description: Single-organization wrapper used by current meshery-cloud organization handlers.
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
maxItems: 1
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationpage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Delete an organization
description: Deletes the organization.
operationId: deleteOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
responses:
'204':
description: Organization deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Update an organization
description: Updates the organization.
operationId: handleUpdateOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
requestBody:
description: Body for creating or updating an organization
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: The notify org update of the organization.
preferences:
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
responses:
'200':
description: Single-organization page response for the updated organization
content:
application/json:
schema:
type: object
description: Single-organization wrapper used by current meshery-cloud organization handlers.
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
maxItems: 1
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationpage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/preferences:
get:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Get organization preferences
description: Returns preferences for the specified organization.
operationId: getOrgPreferences
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Organization metadata, including preferences
content:
application/json:
schema:
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/teams/{teamId}:
post:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Add team to organization or soft delete team
description: >-
Adds a team to an organization. If request body contains action=delete, tombstones a team by setting its
deleted_at timestamp. The team's organization mapping remains intact.
operationId: addTeamToOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
- name: teamId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
requestBody:
required: false
content:
application/json:
schema:
type: object
description: Optional action payload for POST on /api/identity/orgs/{orgId}/teams/{teamId}.
properties:
action:
type: string
description: Internal action to perform on the team resource.
enum:
- delete
responses:
'201':
description: Team added to organization or team tombstoned
content:
application/json:
schema:
oneOf:
- type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
teamsOrganizationsMapping:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
orgId:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The teams organizations mapping of the teamsorganizationsmappingpage.
- type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
teams:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The teams of the teamspage.
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
get:
tags:
- Team_teams
operationId: getTeamById
summary: Get a team by ID
description: Gets a team by its ID
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Team
content:
application/json:
schema:
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning
permissions, whether in the context of an organization, a workspace, or some other domain within
Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
tags:
- Team_teams
operationId: updateTeam
summary: Update a team
description: Updates a team's information
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
requestBody:
description: Body for updating a team
required: true
content:
application/json:
schema:
type: object
description: Payload for updating an existing team
properties:
name:
description: Updated team name
type: string
x-go-type-skip-optional-pointer: true
description:
description: Updated team description
type: string
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Updated team
content:
application/json:
schema:
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning
permissions, whether in the context of an organization, a workspace, or some other domain within
Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Team_teams
operationId: deleteTeam
summary: Delete a team
description: Deletes a team by its ID
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Team deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/teams/{teamId}/remove:
post:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Remove team from organization
description: Removes (unassigns) a team from an organization.
operationId: removeTeamFromOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
- name: teamId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Team removed from organization
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
teamsOrganizationsMapping:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
orgId:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The teams organizations mapping of the teamsorganizationsmappingpage.
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
/api/identity/orgs/{orgId}/users/{userId}:
post:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Add user to organization
operationId: addUserToOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
- name: userId
in: path
required: true
schema:
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
responses:
'201':
description: User added to organization
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Unauthorized
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
delete:
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Remove user from organization
operationId: deleteUserFromOrg
parameters:
- name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
- name: userId
in: path
required: true
schema:
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
responses:
'204':
description: User removed from organization
'401':
description: Unauthorized
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/identity/roles:
post:
x-internal:
- cloud
tags:
- role_roles
summary: Add role holder
operationId: addRoleHolder
description: Assigns a role to a user identified by email.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Request body for assigning a role to a user.
required:
- email
- roleNames
properties:
email:
type: string
format: email
description: Email of the user to assign roles to.
x-order: 1
roleNames:
type: array
items:
type: string
description: List of role names to assign.
x-order: 2
responses:
'201':
description: Role holder added
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/roles/{id}:
delete:
x-internal:
- cloud
tags:
- role_roles
summary: Delete role
operationId: deleteRole
description: Removes a role assignment by ID.
parameters:
- name: id
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Role deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/roles:
get:
x-internal:
- cloud
tags:
- role_roles
summary: Get organization roles
operationId: getAllRoles
description: Returns all roles defined for the specified organization.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: all
in: query
description: Get all possible entries
schema:
type: boolean
- name: selector
in: query
description: Role grouping selector such as provider, organization, or team.
schema:
type: string
- name: teamId
in: query
description: Team ID used when selector is team.
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Roles response
content:
application/json:
schema:
type: object
description: A paginated list of roles.
required:
- page
- page_size
- total_count
- roles
properties:
page:
type: integer
description: Current page number (zero-based).
x-order: 1
minimum: 0
page_size:
type: integer
description: Number of roles per page.
x-order: 2
minimum: 1
total_count:
type: integer
description: Total number of roles across all pages.
x-order: 3
minimum: 0
roles:
type: array
items:
x-go-type: Role
type: object
description: Role definition for Layer5 Cloud (Meshery).
required:
- role_name
- description
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
role_name:
type: string
description: Unique name of the role.
x-order: 2
x-oapi-codegen-extra-tags:
db: role_name
maxLength: 500
description:
type: string
description: Human-readable description of the role.
x-order: 3
x-oapi-codegen-extra-tags:
db: description
maxLength: 5000
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the role was soft-deleted.
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The roles of the rolespage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- role_roles
summary: Upsert organization role
operationId: upsertRole
description: Creates or updates a role for the specified organization.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Role definition for Layer5 Cloud (Meshery).
required:
- role_name
- description
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
role_name:
type: string
description: Unique name of the role.
x-order: 2
x-oapi-codegen-extra-tags:
db: role_name
maxLength: 500
description:
type: string
description: Human-readable description of the role.
x-order: 3
x-oapi-codegen-extra-tags:
db: description
maxLength: 5000
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the role was soft-deleted.
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Role upserted
content:
application/json:
schema:
type: object
description: Role definition for Layer5 Cloud (Meshery).
required:
- role_name
- description
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
role_name:
type: string
description: Unique name of the role.
x-order: 2
x-oapi-codegen-extra-tags:
db: role_name
maxLength: 500
description:
type: string
description: Human-readable description of the role.
x-order: 3
x-oapi-codegen-extra-tags:
db: description
maxLength: 5000
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the role was soft-deleted.
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
tags:
- role_roles
summary: Bulk edit role holders
operationId: bulkEditRoleHolder
description: Updates role assignments for multiple users in the organization.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
type: object
description: Request to update role assignments for a user.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 2
username:
type: string
x-order: 3
description: The username of the userroleupdaterequest.
maxLength: 500
email:
type: string
format: email
x-order: 4
description: Email address.
firstName:
type: string
x-order: 5
description: The first name of the userroleupdaterequest.
maxLength: 500
lastName:
type: string
x-order: 6
description: The last name of the userroleupdaterequest.
maxLength: 500
status:
type: string
x-order: 7
description: Current status of the resource.
maxLength: 255
roleNames:
type: array
items:
type: string
x-order: 8
description: The role names of the userroleupdaterequest.
created_at:
x-order: 9
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-order: 11
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Role holders updated
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/roles/{roleId}/keychains:
get:
x-internal:
- cloud
tags:
- role_roles
summary: Get keychains for role
operationId: getRoleKeychains
description: Returns all keychains assigned to the specified role.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: roleId
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Keychains response
content:
application/json:
schema:
x-go-type: keychainv1beta1.KeychainPage
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/keychain
name: keychainv1beta1
type: object
required:
- page
- page_size
- total_count
- keychains
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keychains:
type: array
items:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keychains of the keychainpage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/roles/{roleId}/keychains/{keychainId}:
post:
x-internal:
- cloud
tags:
- role_roles
summary: Assign keychain to role
operationId: assignKeychainToRole
description: Associates a keychain with the specified role.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: roleId
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Keychain assigned to role
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- role_roles
summary: Unassign keychain from role
operationId: unassignKeychainFromRole
description: Removes the association between a keychain and a role.
parameters:
- name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: roleId
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Keychain unassigned from role
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/user/schedules:
get:
x-internal:
- cloud
tags:
- schedule_scheduler
summary: Get schedules
operationId: getSchedules
description: Returns all schedules for the authenticated user.
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Schedules response
content:
application/json:
schema:
type: object
description: A paginated list of schedules.
required:
- page
- page_size
- total_count
- schedules
properties:
page:
type: integer
description: Current page number (zero-based).
x-order: 1
minimum: 0
page_size:
type: integer
description: Number of schedules per page.
x-order: 2
minimum: 1
total_count:
type: integer
description: Total number of schedules across all pages.
x-order: 3
minimum: 0
schedules:
type: array
items:
type: object
description: >
A schedule defines a recurring cron-based trigger for performance tests or other automated
tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 4
description: The schedules of the schedulepage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- schedule_scheduler
summary: Create or update schedule
operationId: upsertSchedule
description: Creates or updates a schedule for the authenticated user.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: |
A schedule defines a recurring cron-based trigger for performance tests or other automated tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Schedule upserted
content:
application/json:
schema:
type: object
description: |
A schedule defines a recurring cron-based trigger for performance tests or other automated tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/user/schedules/{id}:
get:
x-internal:
- cloud
tags:
- schedule_scheduler
summary: Get schedule by ID
operationId: getSchedule
description: Returns a specific schedule by its ID.
parameters:
- name: id
in: path
description: Schedule ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Schedule response
content:
application/json:
schema:
type: object
description: |
A schedule defines a recurring cron-based trigger for performance tests or other automated tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- schedule_scheduler
summary: Delete schedule
operationId: deleteSchedule
description: Deletes a schedule by its ID.
parameters:
- name: id
in: path
description: Schedule ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Schedule deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/teams:
get:
tags:
- Team_teams
operationId: getTeams
summary: Get all teams for an organization
description: Gets all teams within an organization
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Teams
content:
application/json:
schema:
type: object
description: Paginated list of teams
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
teams:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Team
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for
assigning permissions, whether in the context of an organization, a workspace, or some other
domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The teams of the teampage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
tags:
- Team_teams
operationId: createTeam
summary: Create a team
description: Creates a new team within an organization
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
requestBody:
description: Body for creating a team
required: true
content:
application/json:
schema:
type: object
description: Payload for creating a new team
required:
- name
properties:
name:
description: Team name. Provide a meaningful name that represents this team.
type: string
x-go-type-skip-optional-pointer: true
description:
description: A detailed description of the team's purpose and responsibilities.
type: string
x-go-type-skip-optional-pointer: true
responses:
'201':
description: Created team
content:
application/json:
schema:
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning
permissions, whether in the context of an organization, a workspace, or some other domain within
Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/teams/{teamId}/users:
get:
tags:
- Team_teams
operationId: getTeamUsers
summary: Get all users in a team
description: Gets all users that belong to a team
parameters:
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Team users mapping
content:
application/json:
schema:
type: object
description: Paginated list of team-user mappings
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
teamsUsersMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: TeamsUsersMapping
type: object
description: Mapping between teams and users
properties:
id:
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
user_id:
x-oapi-codegen-extra-tags:
db: user_id
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The teams users mapping of the teamsusersmappingpage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/teams/{teamId}/users/{userId}:
post:
tags:
- Team_teams
operationId: addUserToTeam
summary: Add a user to a team
description: Assigns a user to a team
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
- name: userId
in: path
description: User ID
schema:
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
required: true
responses:
'201':
description: User added to team
content:
application/json:
schema:
type: object
description: Mapping between teams and users
properties:
id:
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
user_id:
x-oapi-codegen-extra-tags:
db: user_id
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Team_teams
operationId: removeUserFromTeam
summary: Remove a user from a team
description: Unassigns a user from a team
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
- name: userId
in: path
description: User ID
schema:
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: User removed from team
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/teams/{teamId}/users:
get:
tags:
- Team_teams
operationId: listUsersNotInTeam
summary: Get users that are not in a team
parameters:
- name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Users not currently in the team
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the teammemberspage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/users:
get:
tags:
- User_users
operationId: getUsersForOrg
summary: Get organization users
description: Returns organization users, optionally filtered by team membership.
parameters:
- name: orgId
in: path
required: true
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
description: Get filtered reponses
schema:
type: string
- name: teamId
in: query
required: false
description: Optional team filter when listing organization users
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
responses:
'200':
description: Paginated list of organization users
content:
application/json:
schema:
type: object
description: Paginated list of users with organization and team role context
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: >-
Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so
on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
description: The data of the userspageforadmin.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/users:
get:
tags:
- User_users
operationId: getUsers
summary: Get public users
description: Returns publicly viewable user records.
security: []
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
description: Get filtered reponses
schema:
type: string
responses:
'200':
description: Paginated list of public users
content:
application/json:
schema:
type: object
description: Paginated list of public user records
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: >-
Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so
on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
description: The data of the userspagefornonadmin.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/profile/{id}:
get:
tags:
- User_users
operationId: getUserProfileById
summary: Get user profile by ID
parameters:
- name: id
in: path
required: true
description: User ID
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: User profile for the requested ID
content:
application/json:
schema:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/profile:
get:
tags:
- User_users
operationId: getUser
summary: Get current user profile
responses:
'200':
description: Current user profile and role context
content:
application/json:
schema:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/views:
post:
x-internal:
- cloud
tags:
- View_views
operationId: createView
summary: Create a view
description: Creates a new view with the given filters and metadata.
requestBody:
description: Body for creating or updating a view
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a view.
required:
- name
properties:
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-oapi-codegen-extra-tags:
json: name,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: filters,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-oapi-codegen-extra-tags:
json: visibility,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'201':
description: Created view
content:
application/json:
schema:
$id: https://schemas.meshery.io/view.yaml
$schema: http://json-schema.org/draft-07/schema#
title: MesheryView
description: >-
A saved view with filters and metadata that defines a customized perspective of Meshery resources.
Learn more at https://docs.meshery.io/concepts/logical/views
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
name: My Kubernetes View
visibility: private
filters: {}
metadata: {}
user_id: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- name
- visibility
- user_id
- created_at
- updated_at
properties:
id:
description: Unique identifier for the view.
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-order: 2
x-oapi-codegen-extra-tags:
db: name
yaml: name
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-order: 3
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
yaml: visibility
filters:
type: object
description: Filter configuration that defines which resources this view displays.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 4
x-oapi-codegen-extra-tags:
db: filters
yaml: filters
metadata:
type: object
description: Additional metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 5
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
user_id:
description: ID of the user who created the view.
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the view was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the view was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 8
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
nullable: true
x-go-type: core.NullTime
x-go-import: database/sql
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 9
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
get:
x-internal:
- cloud
tags:
- View_views
operationId: getViews
summary: Get views
description: Returns a paginated list of views accessible to the user.
parameters:
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string for assignment and soft-delete filters.
required: false
schema:
type: string
- name: shared
in: query
description: When true, include views shared with the user.
required: false
schema:
type: boolean
- name: visibility
in: query
description: Filter by visibility level (public, private).
required: false
schema:
type: string
- name: orgId
in: query
description: Organization ID to scope the request.
schema:
type: string
required: false
- name: userId
in: query
description: UUID of the user whose views to retrieve.
required: false
schema:
type: string
responses:
'200':
description: Views page
content:
application/json:
schema:
type: object
description: Paginated list of views with location enrichment.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
views:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: MesheryViewWithLocation
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Views in this page, enriched with workspace and organization context.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/views/{viewId}:
get:
x-internal:
- cloud
tags:
- View_views
operationId: getViewById
summary: Get a view by ID
description: Returns a single view by its unique identifier.
parameters:
- name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: View
content:
application/json:
schema:
$id: https://schemas.meshery.io/view.yaml
$schema: http://json-schema.org/draft-07/schema#
title: MesheryView
description: >-
A saved view with filters and metadata that defines a customized perspective of Meshery resources.
Learn more at https://docs.meshery.io/concepts/logical/views
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
name: My Kubernetes View
visibility: private
filters: {}
metadata: {}
user_id: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- name
- visibility
- user_id
- created_at
- updated_at
properties:
id:
description: Unique identifier for the view.
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-order: 2
x-oapi-codegen-extra-tags:
db: name
yaml: name
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-order: 3
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
yaml: visibility
filters:
type: object
description: Filter configuration that defines which resources this view displays.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 4
x-oapi-codegen-extra-tags:
db: filters
yaml: filters
metadata:
type: object
description: Additional metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 5
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
user_id:
description: ID of the user who created the view.
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the view was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the view was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 8
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
nullable: true
x-go-type: core.NullTime
x-go-import: database/sql
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 9
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
tags:
- View_views
operationId: updateView
summary: Update a view
description: Updates an existing view with new filters, metadata, or visibility.
parameters:
- name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
requestBody:
description: Body for creating or updating a view
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a view.
required:
- name
properties:
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-oapi-codegen-extra-tags:
json: name,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: filters,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-oapi-codegen-extra-tags:
json: visibility,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'200':
description: Updated view
content:
application/json:
schema:
$id: https://schemas.meshery.io/view.yaml
$schema: http://json-schema.org/draft-07/schema#
title: MesheryView
description: >-
A saved view with filters and metadata that defines a customized perspective of Meshery resources.
Learn more at https://docs.meshery.io/concepts/logical/views
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
name: My Kubernetes View
visibility: private
filters: {}
metadata: {}
user_id: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- name
- visibility
- user_id
- created_at
- updated_at
properties:
id:
description: Unique identifier for the view.
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-order: 2
x-oapi-codegen-extra-tags:
db: name
yaml: name
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-order: 3
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
yaml: visibility
filters:
type: object
description: Filter configuration that defines which resources this view displays.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 4
x-oapi-codegen-extra-tags:
db: filters
yaml: filters
metadata:
type: object
description: Additional metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 5
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
user_id:
description: ID of the user who created the view.
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the view was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the view was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 8
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
nullable: true
x-go-type: core.NullTime
x-go-import: database/sql
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 9
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- View_views
operationId: deleteView
summary: Delete a view
description: Soft-deletes a view by its unique identifier.
parameters:
- name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: View deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: getWorkspaces
summary: Get all workspaces
description: Gets all workspaces accessible to the current user.
parameters:
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
responses:
'200':
description: Workspaces
content:
application/json:
schema:
type: object
description: Paginated list of workspaces.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspaces:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: AvailableWorkspace
type: object
description: Workspace with resolved owner details, as returned in list and get responses.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
org_name:
type: string
description: Name of the owning organization.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: org_name
json: org_name,omitempty
owner:
type: string
description: Display name of the workspace owner.
maxLength: 255
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
owner_id:
description: User ID of the workspace owner.
x-go-name: OwnerId
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_email:
type: string
description: Email address of the workspace owner.
maxLength: 320
x-oapi-codegen-extra-tags:
db: owner_email
json: owner_email,omitempty
owner_avatar:
type: string
description: Avatar URL of the workspace owner.
maxLength: 2048
x-oapi-codegen-extra-tags:
db: owner_avatar
json: owner_avatar,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
organization_id:
type: string
format: uuid
description: Organization to which this workspace belongs.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationId
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: List of workspaces with resolved owner details.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: createWorkspace
summary: Create a workspace
description: Creates a new workspace.
requestBody:
description: Body for creating a workspace
required: true
content:
application/json:
schema:
type: object
description: Payload for creating a workspace.
required:
- name
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'201':
description: Created workspace
content:
application/json:
schema:
$id: https://schemas.meshery.io/workspace.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A workspace is a logical grouping of resources within an organization. Workspaces provide a way to
organize environments, designs, teams, and views. Learn more at
https://docs.meshery.io/concepts/logical/workspaces
additionalProperties: false
type: object
required:
- id
- name
- organization_id
- created_at
- updated_at
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
organization_id:
description: Organization to which this workspace belongs.
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
description: User ID of the workspace owner.
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: getWorkspaceById
summary: Get a workspace by ID
description: Gets a workspace by its ID.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Workspace
content:
application/json:
schema:
$id: https://schemas.meshery.io/workspace.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A workspace is a logical grouping of resources within an organization. Workspaces provide a way to
organize environments, designs, teams, and views. Learn more at
https://docs.meshery.io/concepts/logical/workspaces
additionalProperties: false
type: object
required:
- id
- name
- organization_id
- created_at
- updated_at
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
organization_id:
description: Organization to which this workspace belongs.
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
description: User ID of the workspace owner.
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: updateWorkspace
summary: Update a workspace
description: Updates a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
requestBody:
description: Body for updating a workspace
required: true
content:
application/json:
schema:
type: object
description: Payload for updating a workspace.
required:
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'200':
description: Workspace
content:
application/json:
schema:
$id: https://schemas.meshery.io/workspace.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A workspace is a logical grouping of resources within an organization. Workspaces provide a way to
organize environments, designs, teams, and views. Learn more at
https://docs.meshery.io/concepts/logical/workspaces
additionalProperties: false
type: object
required:
- id
- name
- organization_id
- created_at
- updated_at
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
organization_id:
description: Organization to which this workspace belongs.
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
description: User ID of the workspace owner.
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: deleteWorkspace
summary: Delete a workspace
description: Deletes a workspace by its ID.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Workspace deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/teams:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: getTeamsOfWorkspace
summary: Get teams assigned to a workspace
description: Gets teams assigned to or available for a workspace depending on the filter.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
responses:
'200':
description: Teams
content:
application/json:
schema:
type: object
description: Paginated list of teams
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
teams:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Team
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for
assigning permissions, whether in the context of an organization, a workspace, or some other
domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The teams of the teampage.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/teams/{teamId}:
post:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: assignTeamToWorkspace
summary: Assign a team to a workspace
description: Assigns a team to a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Workspace team mappings
content:
application/json:
schema:
type: object
description: Paginated list of workspace-team mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesTeamsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesTeamsMapping
type: object
description: Junction record linking a workspace to a team.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-team mapping entries.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: unassignTeamFromWorkspace
summary: Unassign a team from a workspace
description: Removes a team from a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Workspace team mapping removed
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/environments:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: getEnvironmentsOfWorkspace
summary: Get environments assigned to a workspace
description: Gets environments assigned to or available for a workspace depending on the filter.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
responses:
'200':
description: Environments
content:
application/json:
schema:
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
environments:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Environment
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 7
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 9
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Environments associated with this resource.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/environments/{environmentId}:
post:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: assignEnvironmentToWorkspace
summary: Assign an environment to a workspace
description: Assigns an environment to a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Workspace environment mappings
content:
application/json:
schema:
type: object
description: Paginated list of workspace-environment mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesEnvironmentsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesEnvironmentsMapping
type: object
description: Junction record linking a workspace to an environment.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
environment_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-environment mapping entries.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Workspace_workspaces
operationId: unassignEnvironmentFromWorkspace
summary: Unassign an environment from a workspace
description: Removes an environment from a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Workspace environment mapping removed
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/designs:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_designs
operationId: getDesignsOfWorkspace
summary: Get designs assigned to a workspace
description: Gets designs assigned to or available for a workspace depending on the filter.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
responses:
'200':
description: Designs
content:
application/json:
schema:
type: object
description: Paginated list of designs.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
designs:
type: array
x-go-type-skip-optional-pointer: true
items:
type: object
properties:
catalogData:
x-go-type: catalogv1beta1.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/catalog
name: catalogv1beta1
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
class:
description: >-
Published content is classifed by its support level. Content classes help you understand
the origin and expected support level for each piece of content. It is important to note
that the level of support may vary within each class, and you should exercise discretion
when using community-contributed content. Content produced and fully supported by
Meshery maintainers. This represents the highest level of support and is considered the
most reliable. Content produced by partners and verified by Meshery maintainers. While
not directly maintained by Meshery, it has undergone a verification process to ensure
quality and compatibility. Content produced and supported by the respective project or
organization responsible for the specific technology. This class offers a level of
support from the project maintainers themselves. Content produced and shared by Meshery
users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels
of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the
highest level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content,
such as performance profiles, test results, filters, patterns, and applications.
Reference architecture content may have varying levels of support and reliability.
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
pattern_caveats:
type: string
title: Caveats and Considerations
description: >-
Specific stipulations to consider and known behaviors to be aware of when using this
design.
pattern_info:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- pattern_caveats
- pattern_info
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow,
and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version
number. May be manually set by a user or third-party system, but will always be required
to be of version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in
another component, resolvedAlias are aware of there immediate parents and
completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: >-
Specifies the version of the schema to which the component definition
conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special
characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that
is to be the canonical reference and that is duplicated by other
components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery
Server.
- ignored: model is unavailable for use for all users of this Meshery
Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either
through discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: >-
Connection Subtype (cloud, identity, metrics, chat, git,
orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws,
azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and
their associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: >-
Specifies the version of the schema to which the environment
conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 7
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 9
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific
capabilities. This field explicitly identifies those capabilities
largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability
definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of
the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with
entities. Example: the ability for a component to be dragged
and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities
similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination
of Kind, Type and SubType together uniquely identify a
Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and
hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as
deployable entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 14
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 15
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at
that position in the given dimensions. If the position is not set, the
node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g.
data(id) will label with the elements id
body-text-wrap:
type: string
description: >-
How to wrap the text in the node. Can be 'none', 'wrap', or
'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be
specified by name (e.g. red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name
(e.g. red), hex (e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g.
red), hex (e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's
body for values from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
background-fit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain',
or 'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none',
'node', or 'node-border'.
background-width-relative-to:
type: string
description: >-
How the background image's width is determined. Can be 'none',
'inner', or 'outer'.
background-height-relative-to:
type: string
description: >-
How the background image's height is determined. Can be 'none',
'inner', or 'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name
(e.g. red), hex (e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the
element drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by
the user. Selector needs to be *core*. Colours may be specified by
name (e.g. red), hex (e.g.
active-bg-opacity:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
active-bg-size:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection.
Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
selection-box-border-width:
type: number
description: >-
The size of the border on the selection box. Selector needs to be
*core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*.
Colours may be specified by name (e.g. red), hex (e.g.
outside-texture-bg-opacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs
to be *core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...).
This represents the points in the polygon for the node's shape. The
bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1,
1). The node's position is the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions a
given component supports; e.g. metric-scrape, sub-interface, and so on. This
field is extensible. ComponentDefinitions may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for full
lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation,
collect metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is
to be the canonical reference and that is duplicated by other components
should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not;
identifies whether the component should be treated as deployable entity or
is for purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false',
the Model property takes precedence with all Entities in the Model not
being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For
more details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/
.
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps ,
this is herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion
of a Kubernetes Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 14
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 15
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components
in Meshery. The combination of relationship properties kind, type, and subtype
characterize various genealogical relations among and between components.
Relationships have selectors, selector sets, metadata, and optional parameters.
Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: >-
Classification of relationships. Used to group relationships similar in
nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind,
Type and SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to
both Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' ,
'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two
nodes; may be haystack (very fast, bundled straight edges for which
loops and compounds are unsupported), straight (straight edges with
all arrows supported), bezier (bundled curved edges), unbundled-bezier
(curved edges for use with manual control points), segments (a series
of straight lines), taxi (right-angled lines, hierarchically bundled).
Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or
square. The cap may or may not be visible, depending on the shape of
the node and the relative size of the node and edge. Caps other than
butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that
the opacity value of the edge element affects the effective opacity of
its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical
representation only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component
belongs and from which model version, category, and other properties may be
referenced. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the
relationship. Deprecation Notice: In the future, this property is either to be
removed or to it is to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set
of selectors that share a common functionality. This structure allows for
flexibility in defining relationships, even when different components are
involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means
that it is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be
created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
replace: Replaces a value.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: Designs in this page.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/designs/{designId}:
post:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_designs
operationId: assignDesignToWorkspace
summary: Assign a design to a workspace
description: Assigns a design to a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: designId
in: path
description: Design ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Workspace design mappings
content:
application/json:
schema:
type: object
description: Paginated list of workspace-design mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesDesignsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesDesignsMapping
type: object
description: Junction record linking a workspace to a design.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
design_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-design mapping entries.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_designs
operationId: unassignDesignFromWorkspace
summary: Unassign a design from a workspace
description: Removes a design from a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: designId
in: path
description: Design ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Workspace design mapping removed
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/views:
get:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_views
operationId: getViewsOfWorkspace
summary: Get views assigned to a workspace
description: Gets views assigned to or available for a workspace depending on the filter.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
responses:
'200':
description: Views
content:
application/json:
schema:
type: object
description: Paginated list of views with location enrichment.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
views:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: MesheryViewWithLocation
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Views in this page, enriched with workspace and organization context.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/views/{viewId}:
post:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_views
operationId: assignViewToWorkspace
summary: Assign a view to a workspace
description: Assigns a view to a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
responses:
'200':
description: Workspace view mappings
content:
application/json:
schema:
type: object
description: Paginated list of workspace-view mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesViewsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesViewsMapping
type: object
description: Junction record linking a workspace to a view.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
view_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-view mapping entries.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Workspace_workspaces
- Workspace_views
operationId: unassignViewFromWorkspace
summary: Unassign a view from a workspace
description: Removes a view from a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
responses:
'204':
description: Workspace view mapping removed
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/academy/curricula/registered:
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getMyAcademyCurricula
summary: Get academy content
description: Returns a list of academy content registered by the user with optional filtering.
parameters:
- name: contentType
in: query
description: Filter content by content types
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: orgId
in: query
description: Filter content by organization IDs
required: false
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: A list of content with total count
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Total number of Curricula
example: 7
minimum: 0
data:
type: array
items:
x-go-type: AcademyCurricula
type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: >-
Learn how to configure your Kubernetes clusters and manage the lifecycle of your
workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced
deployment strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: >-
http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears
first. If not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as
the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
description: The data of the academycurriculalistresponse.
required:
- total
- data
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/curricula:
post:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: createAcademyCurricula
summary: Create a new academy curricula
description: Creates a new academy curricula with the provided details.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
description: Type of the curricula
x-go-name: Type
x-go-type: ContentType
x-oapi-codegen-extra-tags:
json: type
type: string
enum:
- learning-path
- challenge
- certification
title:
type: string
description: Title of the curricula
example: Introduction to Kubernetes
x-go-name: Title
x-oapi-codegen-extra-tags:
json: title
maxLength: 500
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
team_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: TeamId
x-oapi-codegen-extra-tags:
json: team_id
db: team_id
access_expires_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Expiry time for curricula access
x-go-type: '*time.Time'
x-oapi-codegen-extra-tags:
json: access_expires_at
db: access_expires_at
access_status:
description: Current access status of the curricula
x-go-name: AccessStatus
x-go-type: invitationv1beta2.InvitationStatus
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
x-oapi-codegen-extra-tags:
json: access_status
db: access_status
type: string
enum:
- enabled
- disabled
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the _index.md
file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
required:
- type
- title
- org_id
- workspace_id
- team_id
- access_status
- metadata
responses:
'201':
description: created the curricula
content:
application/json:
schema:
type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If
not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getAcademyCurricula
summary: Get academy content
description: Returns a list of academy content with optional filtering.
parameters:
- name: contentType
in: query
description: Filter content by content types
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: visibility
in: query
description: Filter content by visibility (public/private)
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: level
in: query
description: Filter content by difficulty level
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: orgId
in: query
description: Filter content by organization IDs
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: category
in: query
description: Filter content by categories
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: status
in: query
description: Filter by registration status
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: search
in: query
description: Search content by title
required: false
schema:
type: string
- name: sort
in: query
description: Sort results by a specific field (e.g., title, createdAt)
required: false
schema:
type: string
- name: order
in: query
description: Order of sorting (asc or desc)
required: false
schema:
type: string
enum:
- asc
- desc
- name: pagesize
in: query
description: Number of results per page
required: false
schema:
type: integer
- name: page
in: query
description: Page number
required: false
schema:
type: integer
responses:
'200':
description: A list of content with total count
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Total number of Curricula
example: 7
minimum: 0
data:
type: array
items:
x-go-type: AcademyCurriculaWithMetrics
x-go-type-skip-optional-pointer: true
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: >-
Learn how to configure your Kubernetes clusters and manage the lifecycle of your
workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced
deployment strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as
the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: >-
http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a
publicly accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date
and expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears
first. If not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory
as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
description: The data of the academycurriculawithmetricslistresponse.
required:
- total
- data
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/{type}/{orgId}/{slug}:
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getAcademyContent
summary: Get a single learning path
description: Returns a learning path identified by type, orgId, and slug.
parameters:
- name: type
in: path
required: true
schema:
type: string
- name: orgId
in: path
required: true
schema:
type: string
- name: slug
in: path
required: true
schema:
type: string
responses:
'200':
description: A single academy content
content:
application/json:
schema:
type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If
not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/register:
post:
x-internal:
- cloud
tags:
- Academy_API_Academy
summary: Register a user to academy content
operationId: registerToAcademyContent
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- contentId
- user_id
properties:
contentId:
type: string
description: ID of the academy content to register for
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: ID of the user registering for the content.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
responses:
'201':
description: registered content
content:
application/json:
schema:
type: object
required:
- id
- org_id
- user_id
- status
- created_at
- updated_at
- content_id
- certificate
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
content_id:
type: string
description: ID of the course content
x-oapi-codegen-extra-tags:
db: content_id
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
status:
x-go-type: AcademyRegistrationStatus
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was updated
x-oapi-codegen-extra-tags:
db: updated_at
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
certificate:
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
description: Issued certificate for completing the curricula under registration
x-oapi-codegen-extra-tags:
db: certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL
and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
metadata:
type: object
description: Additional metadata about the registration
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/curricula/registrations/{id}/withdraw:
post:
x-internal:
- cloud
tags:
- Academy_API_Academy
summary: Withdraw a user from academy content
operationId: withdrawFromAcademyContent
parameters:
- name: id
in: path
required: true
description: The ID of the curricula
schema:
type: string
responses:
'200':
description: registered content
content:
application/json:
schema:
type: object
required:
- id
- org_id
- user_id
- status
- created_at
- updated_at
- content_id
- certificate
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
content_id:
type: string
description: ID of the course content
x-oapi-codegen-extra-tags:
db: content_id
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
status:
x-go-type: AcademyRegistrationStatus
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was updated
x-oapi-codegen-extra-tags:
db: updated_at
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
certificate:
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
description: Issued certificate for completing the curricula under registration
x-oapi-codegen-extra-tags:
db: certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL
and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
metadata:
type: object
description: Additional metadata about the registration
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/curricula/{id}:
put:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: updateAcademyCurriculaById
summary: Update an existing academy curricula by ID
description: Updates the details of an existing academy curricula identified by its ID.
parameters:
- name: id
in: path
required: true
description: The ID of the curricula
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
description: Type of the curricula
x-go-name: Type
x-go-type: ContentType
x-oapi-codegen-extra-tags:
json: type
type: string
enum:
- learning-path
- challenge
- certification
title:
type: string
description: Title of the curricula
example: Introduction to Kubernetes
x-go-name: Title
x-oapi-codegen-extra-tags:
json: title
maxLength: 500
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
team_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: TeamId
x-oapi-codegen-extra-tags:
json: team_id
db: team_id
access_expires_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Expiry time for curricula access
x-go-type: '*time.Time'
x-oapi-codegen-extra-tags:
json: access_expires_at
db: access_expires_at
access_status:
description: Current access status of the curricula
x-go-name: AccessStatus
x-go-type: invitationv1beta2.InvitationStatus
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
x-oapi-codegen-extra-tags:
json: access_status
db: access_status
type: string
enum:
- enabled
- disabled
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the _index.md
file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
required:
- type
- title
- org_id
- workspace_id
- team_id
- access_status
- metadata
responses:
'200':
description: updated the curricula
content:
application/json:
schema:
type: object
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: >-
Learn how to configure your Kubernetes clusters and manage the lifecycle of your
workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced
deployment strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: >-
http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first.
If not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as
the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
invitation:
x-go-type: invitationv1beta2.Invitation
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
owner_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used
to assign users when signing up from fqdn or custom domain, a organization can only have
one default invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be
empty string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about
the invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid ,
null means the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the
invitation does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept
the invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means
the invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string
means the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used,
disabled means the invitation is no longer valid and is temporarily inactive, disabled
invitations can be re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Curricula not found
'500':
description: Server error
delete:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: deleteAcademyCurriculaById
summary: Delete an academy curricula by ID
description: Deletes an existing academy curricula identified by its ID.
parameters:
- name: id
in: path
required: true
description: The ID of the curricula
schema:
type: string
responses:
'204':
description: Curricula deleted
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Curricula not found
'500':
description: Server error
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getAcademyCurriculaById
summary: Get a single academy curricula by ID
description: Returns a single academy curricula identified by its ID.
parameters:
- name: id
in: path
required: true
description: The ID of the curricula
schema:
type: string
responses:
'200':
description: A single curricula
content:
application/json:
schema:
type: object
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: >-
Learn how to configure your Kubernetes clusters and manage the lifecycle of your
workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced
deployment strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: >-
http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first.
If not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as
the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
invitation:
x-go-type: invitationv1beta2.Invitation
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
owner_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used
to assign users when signing up from fqdn or custom domain, a organization can only have
one default invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be
empty string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about
the invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid ,
null means the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the
invitation does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept
the invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means
the invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string
means the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used,
disabled means the invitation is no longer valid and is temporarily inactive, disabled
invitations can be re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Curricula not found
'500':
description: Server error
/api/academy/registrations/{contentId}:
get:
tags:
- Academy_API_Academy
x-internal:
- cloud
summary: Get registration information for academy content
description: Returns registration data for a specific content item, optionally filtered by status.
parameters:
- name: contentId
in: path
required: true
description: The ID of the content to retrieve registration data for
schema:
type: string
- name: status
in: query
required: false
description: Filter registrations by status (e.g., registered, completed)
schema:
type: string
responses:
'200':
description: Registration data for the specified content
content:
application/json:
schema:
type: object
required:
- id
- org_id
- user_id
- status
- created_at
- updated_at
- content_id
- certificate
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
content_id:
type: string
description: ID of the course content
x-oapi-codegen-extra-tags:
db: content_id
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
status:
x-go-type: AcademyRegistrationStatus
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was updated
x-oapi-codegen-extra-tags:
db: updated_at
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
certificate:
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
description: Issued certificate for completing the curricula under registration
x-oapi-codegen-extra-tags:
db: certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL
and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
metadata:
type: object
description: Additional metadata about the registration
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Content not found
'500':
description: Server error
/api/academy/registrations/{registrationId}/progress-tracker/update-current-item:
post:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: updateCurrentItemInProgressTracker
summary: Update the current item in the progress tracker
parameters:
- name: registrationId
in: path
required: true
schema:
type: string
description: The ID of the registration
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
itemData:
x-go-type: CurriculaCurrentItemData
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
required:
- contentType
- itemData
responses:
'200':
description: Progress tracker updated
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: The message of the updatecurrentitemprogressresponse.
maxLength: 500
progressTracker:
type: object
required:
- currentItem
- grades
- timeSpent
- completed
- completedItems
properties:
currentItem:
type: object
additionalProperties:
x-go-type: CurriculaCurrentItemData
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
description: The current item of the curriculaprogresstracker.
grades:
type: object
additionalProperties:
x-go-type: QuizEvaluationResult
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion
of parent section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: >-
Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited
attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
description: The grades of the curriculaprogresstracker.
timeSpent:
type: integer
description: Total time spent in seconds
minimum: 0
completedItems:
type: object
description: Items that have been completed (map of item IDs to item data)
additionalProperties:
x-go-type: ProgressItemCompleted
type: object
required:
- completedAt
- itemData
properties:
completedAt:
type: string
format: date-time
description: Timestamp when the item was completed
itemData:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
completed:
type: string
format: date-time
x-go-type: core.NullTime
description: The completed of the curriculaprogresstracker.
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
contentType:
type: string
enum:
- learning-path
- challenge
- certification
itemData:
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
'400':
description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
details:
type: string
description: The details of the errorresponse.
maxLength: 500
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Server error
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
details:
type: string
description: The details of the errorresponse.
maxLength: 500
/api/academy/registrations/tests:
get:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: getTestByAbsPath
summary: Get test metadata
description: Returns metadata for test identified by its absolute path.
parameters:
- name: absPath
in: query
required: true
description: The absolute path of the test to retrieve
schema:
type: string
responses:
'200':
description: A single test
content:
application/json:
schema:
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Quiz not found
'500':
description: Server error
/api/academy/registrations/test-sessions/start:
post:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: startTestById
summary: Start a Test by ID
description: Starts a new test session for the quiz identified by its ID.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- testAbsPath
- registrationId
properties:
testAbsPath:
type: string
description: The test abs path of the starttestrequest.
maxLength: 500
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
responses:
'200':
description: A single test
content:
application/json:
schema:
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Quiz not found
'500':
description: Server error
/api/academy/registrations/{id}/test-sessions:
get:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: getAllTestSessionsForRegistration
summary: Get all tests for a registration
description: Returns all tests associated with a specific registration ID for a user.
parameters:
- name: id
in: path
required: true
description: The ID of the registration to retrieve tests for
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: testAbsPath
in: query
required: false
description: Filter tests by absolute path
schema:
type: string
responses:
'200':
description: A list of tests for the specified registration
content:
application/json:
schema:
type: array
items:
type: array
description: Test submissions made by the user (array of QuizEvaluationResult)
items:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of
parent section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: >-
Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited
attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Registration not found
'500':
description: Server error
/api/academy/registrations/test-sessions/submit:
post:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: submitQuiz
summary: Submit a quiz for evaluation
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- quizAbsPath
- registrationId
- testSessionId
- user_id
- answers
properties:
testSessionId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
quizAbsPath:
type: string
description: The quiz abs path of the quizsubmission.
maxLength: 500
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
user_id:
type: string
description: ID of the user who owns or created this resource.
maxLength: 500
format: uuid
answers:
type: array
items:
x-go-type: SubmittedAnswer
type: object
required:
- questionId
- selectedOptionId
- answerText
properties:
questionId:
type: string
description: ID of the associated question.
maxLength: 500
format: uuid
selectedOptionId:
type: object
additionalProperties:
type: boolean
description: Map of selected option IDs to a boolean value indicating if it was selected.
answerText:
type: string
description: The answer text of the submittedanswer.
maxLength: 500
description: The answers of the quizsubmission.
responses:
'200':
description: Progress tracker updated
content:
application/json:
schema:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
'400':
description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
details:
type: string
description: The details of the errorresponse.
maxLength: 500
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
details:
type: string
description: The details of the errorresponse.
maxLength: 500
/api/academy/admin/summary:
get:
tags:
- Academy_API_Academy
x-internal:
- cloud
operationId: getAcademyAdminSummary
summary: Get academy content summary
description: Returns a summary of all academy content with metrics.
responses:
'200':
description: A list of content with total count and registration metrics
content:
application/json:
schema:
type: object
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/admin/registrations:
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getAcademyAdminRegistrations
summary: Get academy registrations
description: Returns a list of academy registrations with user, curricula, and pagination details.
parameters:
- name: pagesize
in: query
required: false
description: Number of results per page
schema:
type: integer
- name: page
in: query
required: false
description: Page number
schema:
type: integer
- name: contentType
in: query
required: false
description: Filter by content types
style: form
explode: true
schema:
type: array
items:
type: string
- name: status
in: query
required: false
description: Filter by registration status
style: form
explode: true
schema:
type: array
items:
type: string
responses:
'200':
description: List of registrations with pagination info
content:
application/json:
schema:
type: object
required:
- data
- total_count
- page_size
- page
properties:
data:
type: array
items:
x-go-type: UserRegistration
type: object
required:
- curricula_title
- curricula_type
- curricula_permalink
- registration_id
- status
- user_id
- user_email
- user_last_name
- user_first_name
- user_avatar_url
- total_count
properties:
curricula_title:
type: string
description: Title of the curricula
x-oapi-codegen-extra-tags:
db: curricula_title
maxLength: 500
curricula_type:
type: string
enum:
- learning-path
- challenge
- certification
description: Type of the curricula
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: curricula_type
curricula_permalink:
type: string
description: Permalink of the curricula
x-oapi-codegen-extra-tags:
db: curricula_permalink
maxLength: 500
registration_id:
type: string
format: uuid
description: Unique ID of the registration
x-oapi-codegen-extra-tags:
db: registration_id
status:
description: Registration status
x-go-type: AcademyRegistrationStatus
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
created_at:
type: string
format: date-time
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
user_id:
type: string
format: uuid
description: ID of the user
x-oapi-codegen-extra-tags:
db: user_id
user_first_name:
type: string
description: First name of the user
x-oapi-codegen-extra-tags:
db: user_first_name
maxLength: 500
user_last_name:
type: string
description: Last name of the user
x-oapi-codegen-extra-tags:
db: user_last_name
maxLength: 500
user_email:
type: string
format: email
description: Email of the user
x-oapi-codegen-extra-tags:
db: user_email
user_avatar_url:
type: string
format: uri
description: Avatar URL of the user
x-oapi-codegen-extra-tags:
db: user_avatar_url
total_count:
type: integer
format: int64
description: Total count for pagination
x-oapi-codegen-extra-tags:
db: total_count
minimum: 0
description: The data of the curricularegistrationsresponse.
total_count:
type: integer
format: int64
description: Total number of items available.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
page:
type: integer
description: Current page number of the result set.
minimum: 0
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Server error
/api/academy/certificates/{certificateId}:
get:
x-internal:
- cloud
tags:
- Academy_API_Academy
operationId: getCertificateById
summary: Get a certificate by ID
description: Returns a certificate identified by its ID.
parameters:
- name: certificateId
in: path
required: true
description: The ID of the certificate to retrieve
schema:
type: string
responses:
'200':
description: A single certificate
content:
application/json:
schema:
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
'400':
description: Invalid request parameters
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Certificate not found
'500':
description: Server error
/api/integrations/connections:
get:
tags:
- Connection_API_Connections
operationId: getConnections
summary: Get all connections
description: >-
Returns a paginated list of connections for the authenticated user with filtering, sorting and pagination
support
parameters:
- name: page
in: query
description: Page number
required: false
schema:
type: integer
default: 0
- name: pagesize
in: query
description: Number of items per page
required: false
schema:
type: integer
default: 10
- name: search
in: query
description: Search term
required: false
schema:
type: string
- name: order
in: query
description: Sort order
required: false
schema:
type: string
- name: filter
in: query
description: Filter connections (general filter string)
required: false
schema:
type: string
- name: kind
in: query
description: Filter by connection kind (e.g., kubernetes, prometheus, grafana)
required: false
schema:
type: array
items:
type: string
- name: status
in: query
description: Filter by connection status
required: false
schema:
type: array
items:
type: string
description: Connection Status Value
x-go-name: ConnectionStatusValue
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
- name: type
in: query
description: Filter by connection type
required: false
schema:
type: array
items:
type: string
- name: name
in: query
description: Filter by connection name (partial match supported)
required: false
schema:
type: string
responses:
'200':
description: Paginated list of connections with summary information
content:
application/json:
schema:
description: Represents a page of connections with meta information about connections count
additionalProperties: false
type: object
required:
- connections
- total_count
- page
- page_size
properties:
connections:
type: array
description: List of connections on this page
x-go-type: '[]*Connection'
items:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual
entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated
Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment remains
active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
x-order: 1
total_count:
type: integer
description: Total number of connections on all pages
x-order: 2
minimum: 0
page:
type: integer
description: Current page number
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of elements per page
x-order: 4
minimum: 1
statusSummary:
type: object
description: Aggregate count of connections grouped by status
additionalProperties:
type: integer
x-go-type: map[ConnectionStatusValue]int
x-oapi-codegen-extra-tags:
json: statusSummary,omitempty
x-order: 5
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
tags:
- Connection_API_Connections
operationId: registerConnection
summary: Register a new connection
description: Register a new connection with credentials
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a connection
properties:
id:
type: string
format: uuid
description: Connection ID
x-go-name: ConnectionID
x-oapi-codegen-extra-tags:
json: id,omitempty
name:
type: string
description: Connection name
x-oapi-codegen-extra-tags:
json: name
minLength: 1
maxLength: 255
kind:
type: string
description: Connection kind
x-oapi-codegen-extra-tags:
json: kind
maxLength: 255
type:
type: string
description: Connection type
x-oapi-codegen-extra-tags:
json: type
maxLength: 255
subType:
type: string
description: Connection sub-type
x-oapi-codegen-extra-tags:
json: subType
maxLength: 255
credentialSecret:
type: object
description: Credential secret data
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: credentialSecret
metadata:
type: object
description: Connection metadata
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata
status:
type: string
description: Connection status
x-oapi-codegen-extra-tags:
json: status
maxLength: 255
credentialId:
type: string
format: uuid
description: Associated credential ID
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
json: credentialId,omitempty
required:
- name
- kind
- type
- subType
- status
responses:
'201':
description: Connection registered
content:
application/json:
schema:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry
are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/integrations/connections/{connectionId}:
get:
tags:
- Connection_API_Connections
operationId: getConnectionById
summary: Get connection by ID
description: Returns a specific connection by its ID
parameters:
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
responses:
'200':
description: Connection details
content:
application/json:
schema:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry
are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
tags:
- Connection_API_Connections
operationId: updateConnection
summary: Update a connection
description: Update an existing connection
parameters:
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a connection
properties:
id:
type: string
format: uuid
description: Connection ID
x-go-name: ConnectionID
x-oapi-codegen-extra-tags:
json: id,omitempty
name:
type: string
description: Connection name
x-oapi-codegen-extra-tags:
json: name
minLength: 1
maxLength: 255
kind:
type: string
description: Connection kind
x-oapi-codegen-extra-tags:
json: kind
maxLength: 255
type:
type: string
description: Connection type
x-oapi-codegen-extra-tags:
json: type
maxLength: 255
subType:
type: string
description: Connection sub-type
x-oapi-codegen-extra-tags:
json: subType
maxLength: 255
credentialSecret:
type: object
description: Credential secret data
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: credentialSecret
metadata:
type: object
description: Connection metadata
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata
status:
type: string
description: Connection status
x-oapi-codegen-extra-tags:
json: status
maxLength: 255
credentialId:
type: string
format: uuid
description: Associated credential ID
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
json: credentialId,omitempty
required:
- name
- kind
- type
- subType
- status
responses:
'200':
description: Connection updated
content:
application/json:
schema:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry
are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Connection_API_Connections
operationId: deleteConnection
summary: Delete a connection
description: Delete a specific connection
parameters:
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
responses:
'204':
description: Connection deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/integrations/connections/meshery/{mesheryServerId}:
delete:
tags:
- Connection_API_Connections
operationId: deleteMesheryConnection
summary: Delete Meshery instance connection
description: Delete a Meshery server connection by server ID
parameters:
- name: mesheryServerId
in: path
required: true
description: Meshery server ID
schema:
type: string
format: uuid
responses:
'204':
description: Meshery connection deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/integrations/connections/kubernetes/{connectionId}/context:
get:
tags:
- Connection_API_Connections
operationId: getKubernetesContext
summary: Get Kubernetes context
description: Get Kubernetes context for a specific connection
parameters:
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
responses:
'200':
description: Kubernetes context
content:
application/json:
schema:
type: object
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/environments/{environmentId}/connections/{connectionId}:
post:
tags:
- Connection_API_Connections
operationId: addConnectionToEnvironment
summary: Add connection to environment
description: Associate a connection with an environment
parameters:
- name: environmentId
in: path
required: true
description: Environment ID
schema:
type: string
format: uuid
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
responses:
'201':
description: Connection added to environment
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
tags:
- Connection_API_Connections
operationId: removeConnectionFromEnvironment
summary: Remove connection from environment
description: Disassociate a connection from an environment
parameters:
- name: environmentId
in: path
required: true
description: Environment ID
schema:
type: string
format: uuid
- name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
responses:
'204':
description: Connection removed from environment
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get designs
operationId: getPatterns
description: Returns a paginated list of infrastructure designs accessible to the user.
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: visibility
in: query
description: Filter by visibility (public, private, published)
schema:
type: string
- name: userId
in: query
required: false
description: UUID of User. Pass userId for fetching public and published designs.
schema:
type: string
- name: orgId
in: query
required: false
description: User's organization ID.
schema:
type: string
- name: metrics
in: query
required: false
schema:
type: boolean
- name: workspaceId
in: query
required: false
schema:
type: string
- name: populate
in: query
required: false
schema:
type: boolean
- name: shared
in: query
required: false
schema:
type: boolean
responses:
'200':
description: Designs response
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
patterns:
type: array
items:
x-go-type: MesheryPattern
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand
the origin and expected support level for each piece of content. It is important to note
that the level of support may vary within each class, and you should exercise discretion
when using community-contributed content. Content produced and fully supported by
Meshery maintainers. This represents the highest level of support and is considered the
most reliable. Content produced by partners and verified by Meshery maintainers. While
not directly maintained by Meshery, it has undergone a verification process to ensure
quality and compatibility. Content produced and supported by the respective project or
organization responsible for the specific technology. This class offers a level of
support from the project maintainers themselves. Content produced and shared by Meshery
users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels
of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the
highest level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content,
such as performance profiles, test results, filters, patterns, and applications.
Reference architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: >-
Specific stipulations to consider and known behaviors to be aware of when using this
design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow,
and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version
number. May be manually set by a user or third-party system, but will always be required
to be of version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in
another component, resolvedAlias are aware of there immediate parents and
completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: >-
Specifies the version of the schema to which the component definition
conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a
declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special
characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that
is to be the canonical reference and that is duplicated by other
components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery
Server.
- ignored: model is unavailable for use for all users of this Meshery
Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either
through discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: >-
Connection Subtype (cloud, identity, metrics, chat, git,
orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws,
azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and
their associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: >-
Specifies the version of the schema to which the environment
conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific
capabilities. This field explicitly identifies those capabilities
largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability
definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of
the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with
entities. Example: the ability for a component to be dragged
and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities
similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination
of Kind, Type and SubType together uniquely identify a
Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and
hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as
deployable entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at
that position in the given dimensions. If the position is not set, the
node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g.
data(id) will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: >-
How to wrap the text in the node. Can be 'none', 'wrap', or
'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's
body for values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain',
or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none',
'node', or 'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none',
'inner', or 'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none',
'inner', or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the
element drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by
the user. Selector needs to be *core*. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
activeBgSize:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection.
Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: >-
The size of the border on the selection box. Selector needs to be
*core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*.
Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs
to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...).
This represents the points in the polygon for the node's shape. The
bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1,
1). The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions a
given component supports; e.g. metric-scrape, sub-interface, and so on. This
field is extensible. ComponentDefinitions may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for full
lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation,
collect metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is
to be the canonical reference and that is duplicated by other components
should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not;
identifies whether the component should be treated as deployable entity or
is for purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false',
the Model property takes precedence with all Entities in the Model not
being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For
more details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/
.
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps;
this payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion
of a Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components
in Meshery. The combination of relationship properties kind, type, and subtype
characterize various genealogical relations among and between components.
Relationships have selectors, selector sets, metadata, and optional parameters.
Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: >-
Classification of relationships. Used to group relationships similar in
nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind,
Type and SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to
both Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' ,
'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two
nodes; may be haystack (very fast, bundled straight edges for which
loops and compounds are unsupported), straight (straight edges with
all arrows supported), bezier (bundled curved edges), unbundled-bezier
(curved edges for use with manual control points), segments (a series
of straight lines), taxi (right-angled lines, hierarchically bundled).
Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or
square. The cap may or may not be visible, depending on the shape of
the node and the relative size of the node and edge. Caps other than
butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that
the opacity value of the edge element affects the effective opacity of
its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical
representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component
belongs and from which model version, category, and other properties may be
referenced. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the
relationship. Deprecation Notice: In the future, this property is either to be
removed or to it is to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set
of selectors that share a common functionality. This structure allows for
flexibility in defining relationships, even when different components are
involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means
that it is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be
created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the mesherypatternpage.
resultType:
type: string
description: The result type of the mesherypatternpage.
maxLength: 500
total_count:
type: integer
description: Total number of items available.
minimum: 0
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Save design
operationId: upsertPattern
description: Creates or updates an infrastructure design.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
path:
type: string
x-go-type-skip-optional-pointer: true
patternData:
x-go-type: MesheryPattern
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that
the level of support may vary within each class, and you should exercise discretion when
using community-contributed content. Content produced and fully supported by Meshery
maintainers. This represents the highest level of support and is considered the most
reliable. Content produced by partners and verified by Meshery maintainers. While not
directly maintained by Meshery, it has undergone a verification process to ensure quality
and compatibility. Content produced and supported by the respective project or organization
responsible for the specific technology. This class offers a level of support from the
project maintainers themselves. Content produced and shared by Meshery users. This includes
a wide range of content, such as performance profiles, test results, filters, patterns, and
applications. Community content may have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest
level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content,
such as performance profiles, test results, filters, patterns, and applications.
Reference architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number.
May be manually set by a user or third-party system, but will always be required to be of
version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more
at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration
(i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special
characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is
to be the canonical reference and that is duplicated by other components
should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws,
azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: >-
Specifies the version of the schema to which the environment
conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what
actions a given component supports; e.g. metric-scrape, sub-interface,
and so on. This field is extensible. Entities may define a broad array
of capabilities, which are in-turn dynamically interpretted by Meshery
for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability
definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar
in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and
hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as
deployable entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and height
if you desire an equilateral shape (i.e. width !== height for several
equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more
at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of
a compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and height
if you desire an equilateral shape (i.e. width !== height for several
equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at
that position in the given dimensions. If the position is not set, the
node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body
for values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner',
or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the
element drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the
user. Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
activeBgSize:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection.
Selector needs to be *core*. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*.
Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...).
This represents the points in the polygon for the node's shape. The
bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1).
The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. ComponentDefinitions may define a broad array of capabilities, which
are in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped. Example:
supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for
purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/
.
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype
characterize various genealogical relations among and between components.
Relationships have selectors, selector sets, metadata, and optional parameters. Learn
more at https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type
and SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped. Example:
supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of
a compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes;
may be haystack (very fast, bundled straight edges for which loops and
compounds are unsupported), straight (straight edges with all arrows
supported), bezier (bundled curved edges), unbundled-bezier (curved edges
for use with manual control points), segments (a series of straight
lines), taxi (right-angled lines, hierarchically bundled). Note that
haystack edges work best with ellipse, rectangle, or similar nodes.
Smaller node shapes, like triangle, will not be as aesthetically pleasing.
Also note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square.
The cap may or may not be visible, depending on the shape of the node and
the relative size of the node and edge. Caps other than butt extend beyond
the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its
line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical
representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs
and from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it
is to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility
in defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it
is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field
has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist,
it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field
has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist,
it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created
/ is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field
has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist,
it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field
has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist,
it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
save:
type: boolean
description: The save of the mesherypatternrequestbody.
url:
description: endpoint
format: uri
pattern: ^https?://
x-go-type-skip-optional-pointer: true
type: string
name:
type: string
description: Name of the mesherypatternrequestbody.
minLength: 1
maxLength: 255
responses:
'200':
description: Design saved
content:
application/json:
schema:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers.
This represents the highest level of support and is considered the most reliable. Content
produced by partners and verified by Meshery maintainers. While not directly maintained by
Meshery, it has undergone a verification process to ensure quality and compatibility. Content
produced and supported by the respective project or organization responsible for the specific
technology. This class offers a level of support from the project maintainers themselves.
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Community content may
have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest
level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such
as performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number.
May be manually set by a user or third-party system, but will always be required to be of
version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration
(i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters
are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to
be the canonical reference and that is duplicated by other components should not
be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what
actions a given component supports; e.g. metric-scrape, sub-interface, and
so on. This field is extensible. Entities may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is
drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the
user. Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours
may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box
of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's
position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. ComponentDefinitions may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes
of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype characterize
various genealogical relations among and between components. Relationships have
selectors, selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may
be haystack (very fast, bundled straight edges for which loops and compounds
are unsupported), straight (straight edges with all arrows supported),
bezier (bundled curved edges), unbundled-bezier (curved edges for use with
manual control points), segments (a series of straight lines), taxi
(right-angled lines, hierarchically bundled). Note that haystack edges work
best with ellipse, rectangle, or similar nodes. Smaller node shapes, like
triangle, will not be as aesthetically pleasing. Also note that edge
endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square.
The cap may or may not be visible, depending on the shape of the node and
the relative size of the node and edge. Caps other than butt extend beyond
the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its line
and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced. Learn
more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is
to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility
in defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it
is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created /
is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/delete:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Bulk delete designs
operationId: deletePatterns
description: Deletes multiple designs by ID.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patterns:
type: array
items:
x-go-type: DeletePatternModel
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the mesherypatterndeleterequestbody.
responses:
'200':
description: Designs deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/resource:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get pattern resources
operationId: getPatternResources
description: Returns pattern resource definitions.
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Pattern resources response
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Save pattern resource
operationId: upsertPatternResource
description: Creates or updates a pattern resource definition.
responses:
'200':
description: Pattern resource saved
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/resource/{id}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get pattern resource by ID
operationId: getPatternResource
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Pattern resource response
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Design_designs
summary: Delete pattern resource
operationId: deletePatternResource
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Pattern resource deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/{id}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get design by ID
operationId: getPattern
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Design response
content:
application/json:
schema:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers.
This represents the highest level of support and is considered the most reliable. Content
produced by partners and verified by Meshery maintainers. While not directly maintained by
Meshery, it has undergone a verification process to ensure quality and compatibility. Content
produced and supported by the respective project or organization responsible for the specific
technology. This class offers a level of support from the project maintainers themselves.
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Community content may
have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest
level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such
as performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number.
May be manually set by a user or third-party system, but will always be required to be of
version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration
(i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters
are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to
be the canonical reference and that is duplicated by other components should not
be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what
actions a given component supports; e.g. metric-scrape, sub-interface, and
so on. This field is extensible. Entities may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is
drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the
user. Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours
may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box
of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's
position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. ComponentDefinitions may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes
of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype characterize
various genealogical relations among and between components. Relationships have
selectors, selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may
be haystack (very fast, bundled straight edges for which loops and compounds
are unsupported), straight (straight edges with all arrows supported),
bezier (bundled curved edges), unbundled-bezier (curved edges for use with
manual control points), segments (a series of straight lines), taxi
(right-angled lines, hierarchically bundled). Note that haystack edges work
best with ellipse, rectangle, or similar nodes. Smaller node shapes, like
triangle, will not be as aesthetically pleasing. Also note that edge
endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square.
The cap may or may not be visible, depending on the shape of the node and
the relative size of the node and edge. Caps other than butt extend beyond
the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its line
and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced. Learn
more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is
to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility
in defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it
is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created /
is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- Design_designs
summary: Delete design by ID
operationId: deletePattern
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'204':
description: Design deleted
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/clone/{id}:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Clone design
operationId: clonePattern
description: Creates a copy of an existing design.
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Design cloned
content:
application/json:
schema:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers.
This represents the highest level of support and is considered the most reliable. Content
produced by partners and verified by Meshery maintainers. While not directly maintained by
Meshery, it has undergone a verification process to ensure quality and compatibility. Content
produced and supported by the respective project or organization responsible for the specific
technology. This class offers a level of support from the project maintainers themselves.
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Community content may
have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest
level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such
as performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number.
May be manually set by a user or third-party system, but will always be required to be of
version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration
(i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters
are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to
be the canonical reference and that is duplicated by other components should not
be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what
actions a given component supports; e.g. metric-scrape, sub-interface, and
so on. This field is extensible. Entities may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you
desire an equilateral shape (i.e. width !== height for several equilateral
shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is
drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id)
will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or
pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the
user. Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours
may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box
of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's
position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. ComponentDefinitions may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes
of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false', the
Model property takes precedence with all Entities in the Model not being
registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more
details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in
Meshery. The combination of relationship properties kind, type, and subtype characterize
various genealogical relations among and between components. Relationships have
selectors, selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g.
red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an element
with a lower z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may
be haystack (very fast, bundled straight edges for which loops and compounds
are unsupported), straight (straight edges with all arrows supported),
bezier (bundled curved edges), unbundled-bezier (curved edges for use with
manual control points), segments (a series of straight lines), taxi
(right-angled lines, hierarchically bundled). Note that haystack edges work
best with ellipse, rectangle, or similar nodes. Smaller node shapes, like
triangle, will not be as aesthetically pleasing. Also note that edge
endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square.
The cap may or may not be visible, depending on the shape of the node and
the relative size of the node and edge. Caps other than butt extend beyond
the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that the
opacity value of the edge element affects the effective opacity of its line
and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name
(e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced. Learn
more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is
to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility
in defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it
is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created /
is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along
with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has
an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't exist, it
is created.
strategic: specific to Kubernetes and understands the structure
of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/download/{id}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Download design file
operationId: getDesignPatternFile
description: Downloads the raw design file for the specified design.
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Design file content
content:
application/yaml:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/patterns/upload/{id}:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Upload design source content
operationId: upsertPatternSourceContent
description: Uploads or replaces the source content for a design.
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
description: >-
Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on
your local system, or 'URL Import' if you have the file hosted online.
enum:
- file
- url
properties:
file:
type: string
format: file
description: >-
Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See
[Import Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
fileName:
type: string
description: The name of the pattern file being imported.
maxLength: 500
name:
type: string
default: Untitled Design
description: >-
Provide a name for your design file. This name will help you identify the file more easily. You can
also change the name of your design after importing it.
minLength: 1
maxLength: 255
url:
type: string
format: uri
description: >-
Provide the URL of the file you want to import. This should be a direct URL to a single file, for
example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported
format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
responses:
'200':
description: Design source content uploaded
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/pattern/import:
post:
tags:
- Design_designs
summary: Import Design
operationId: importDesign
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
description: >-
Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on
your local system, or 'URL Import' if you have the file hosted online.
enum:
- file
- url
properties:
file:
type: string
format: file
description: >-
Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See
[Import Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
fileName:
type: string
description: The name of the pattern file being imported.
maxLength: 500
name:
type: string
default: Untitled Design
description: >-
Provide a name for your design file. This name will help you identify the file more easily. You can
also change the name of your design after importing it.
minLength: 1
maxLength: 255
url:
type: string
format: uri
description: >-
Provide the URL of the file you want to import. This should be a direct URL to a single file, for
example: https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported
format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
responses:
'200':
description: Successful Import
content:
application/json:
schema:
type: object
properties:
message:
type: string
'400':
description: Invalid request format
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/catalog/content/{type}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get catalog content
operationId: getCatalogContent
security: []
parameters:
- name: type
in: path
required: true
schema:
type: string
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: type
in: query
required: false
schema:
type: string
- name: technology
in: query
required: false
schema:
type: string
- name: metrics
in: query
required: false
schema:
type: boolean
- name: class
in: query
required: false
schema:
type: string
- name: userId
in: query
required: false
schema:
type: string
- name: orgId
in: query
required: false
schema:
type: string
- name: workspaceId
in: query
required: false
schema:
type: string
- name: teamId
in: query
required: false
schema:
type: string
- name: populate
in: query
required: false
schema:
type: boolean
responses:
'200':
description: Catalog content page
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
patterns:
type: array
items:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand
the origin and expected support level for each piece of content. It is important to note
that the level of support may vary within each class, and you should exercise discretion
when using community-contributed content. Content produced and fully supported by
Meshery maintainers. This represents the highest level of support and is considered the
most reliable. Content produced by partners and verified by Meshery maintainers. While
not directly maintained by Meshery, it has undergone a verification process to ensure
quality and compatibility. Content produced and supported by the respective project or
organization responsible for the specific technology. This class offers a level of
support from the project maintainers themselves. Content produced and shared by Meshery
users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels
of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the
highest level of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content,
such as performance profiles, test results, filters, patterns, and applications.
Reference architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more
models implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: >-
Specific stipulations to consider and known behaviors to be aware of when using this
design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow,
and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version
number. May be manually set by a user or third-party system, but will always be required
to be of version number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in
another component, resolvedAlias are aware of there immediate parents and
completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another
component, nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within
models. Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: >-
Specifies the version of the schema to which the component definition
conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: >-
Format specifies the format used in the `component.schema` field. JSON is the
default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a
declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special
characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that
is to be the canonical reference and that is duplicated by other
components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery
Server.
- ignored: model is unavailable for use for all users of this Meshery
Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either
through discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: >-
Connection Subtype (cloud, identity, metrics, chat, git,
orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws,
azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and
their associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: >-
Specifies the version of the schema to which the environment
conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific
capabilities. This field explicitly identifies those capabilities
largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability
definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of
the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities.
Example: initiate log streaming on a Pod. Example: initiate
deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the
ability to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the
ability to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with
entities. Example: the ability for a component to be dragged
and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities
similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination
of Kind, Type and SubType together uniquely identify a
Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and
hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the
capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as
deployable entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and
from which model version, category, and other properties may be referenced.
Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the
specified width and height, and so you may have to adjust width and
height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at
that position in the given dimensions. If the position is not set, the
node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g.
data(id) will label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: >-
How to wrap the text in the node. Can be 'none', 'wrap', or
'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's
body for values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%)
or pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain',
or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none',
'node', or 'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none',
'inner', or 'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none',
'inner', or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the
element drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by
the user. Selector needs to be *core*. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
activeBgSize:
type: string
description: >-
The opacity of the active background indicator. Selector needs to be
*core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection.
Selector needs to be *core*. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: >-
The size of the border on the selection box. Selector needs to be
*core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*.
Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs
to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...).
This represents the points in the polygon for the node's shape. The
bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1,
1). The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be
specified by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions a
given component supports; e.g. metric-scrape, sub-interface, and so on. This
field is extensible. ComponentDefinitions may define a broad array of
capabilities, which are in-turn dynamically interpretted by Meshery for full
lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation,
collect metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is
to be the canonical reference and that is duplicated by other components
should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not;
identifies whether the component should be treated as deployable entity or
is for purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery
Registry. When the same 'published' property in Models, is set to 'false',
the Model property takes precedence with all Entities in the Model not
being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For
more details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/
.
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema
defined within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps;
this payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion
of a Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component.
Example: A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components
in Meshery. The combination of relationship properties kind, type, and subtype
characterize various genealogical relations among and between components.
Relationships have selectors, selector sets, metadata, and optional parameters.
Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: >-
Classification of relationships. Used to group relationships similar in
nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind,
Type and SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities.
This field explicitly identifies those capabilities largely by what actions
a given component supports; e.g. metric-scrape, sub-interface, and so on.
This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability
to view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of
Kind, Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to
both Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: >-
Colored SVG of the entity used for UI representation on light
background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive
of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name
(e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity
of a compound node parent affects the effective opacity of its
children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In
general, an element with a higher z-index will be drawn on top of an
element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' ,
'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two
nodes; may be haystack (very fast, bundled straight edges for which
loops and compounds are unsupported), straight (straight edges with
all arrows supported), bezier (bundled curved edges), unbundled-bezier
(curved edges for use with manual control points), segments (a series
of straight lines), taxi (right-angled lines, hierarchically bundled).
Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or
square. The cap may or may not be visible, depending on the shape of
the node and the relative size of the node and edge. Caps other than
butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a
separate opacity for the edge label versus the edge line. Note that
the opacity value of the edge element affects the effective opacity of
its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by
name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g.
data(id) will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical
representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component
belongs and from which model version, category, and other properties may be
referenced. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the
relationship. Deprecation Notice: In the future, this property is either to be
removed or to it is to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set
of selectors that share a common functionality. This structure allows for
flexibility in defining relationships, even when different components are
involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means
that it is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be
created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship
along with a set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a
field has an implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely
identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: >-
JSON ref to value from where patch should be
applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must
match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched
at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath)
to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: >-
The unique name for the model within the scope of a
registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model.
Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a
resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an
object.
merge: Combines the values of the target location with the
values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the
structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal
to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match.
eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the catalogcontentpage.
filters:
type: array
items:
type: object
additionalProperties: true
description: The filters of the catalogcontentpage.
modelsCount:
type: array
items:
type: object
additionalProperties: true
description: The models count of the catalogcontentpage.
categoryCount:
type: array
items:
type: object
additionalProperties: true
description: The category count of the catalogcontentpage.
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Publish catalog content
operationId: publishCatalogContent
parameters:
- name: type
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Catalog request result
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'409':
description: Conflict
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/catalog/content/{type}/unpublish:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Unpublish catalog content
operationId: unPublishCatalogContent
parameters:
- name: type
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Catalog request result
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'409':
description: Conflict
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/catalog/content/classes:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get catalog content classes
operationId: getCatalogContentClasses
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Catalog content classes
content:
application/json:
schema:
type: array
items:
type: object
properties:
class:
type: string
description: The class of the catalogcontentclass.
maxLength: 500
description:
type: string
description: Description of the catalogcontentclass.
maxLength: 5000
additionalProperties: true
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/catalog/requests/approve:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Approve a catalog request
operationId: approveCatalogRequest
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Request approved
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'409':
description: Conflict
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/catalog/requests/deny:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Deny a catalog request
operationId: denyCatalogRequest
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Request denied
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'409':
description: Conflict
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/filters/{id}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get filter by ID
operationId: getFilter
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Filter
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/content/filters/clone/{id}:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Clone filter
operationId: cloneFilter
parameters:
- name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Cloned filter
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/resource/{resourceType}/share/{resourceId}:
post:
x-internal:
- cloud
tags:
- Design_designs
summary: Share a resource
operationId: handleResourceShare
parameters:
- name: resourceType
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Resource access mapping
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/resource/{resourceType}/share/{resourceId}/{actorType}:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get resource access actors by type
operationId: getResourceAccessActorsByType
parameters:
- name: resourceType
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: actorType
in: path
required: true
schema:
type: string
responses:
'200':
description: Resource access actors
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
additionalProperties: true
description: The users of the resourceaccessactorsresponse.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/catalog/requests:
get:
x-internal:
- cloud
tags:
- Design_designs
summary: Get catalog requests
operationId: getCatalogRequest
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
required: false
schema:
type: string
responses:
'200':
description: Catalog requests page
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
catalogRequests:
type: array
items:
type: object
additionalProperties: true
description: The catalog requests of the catalogrequestspage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events/{id}:
delete:
tags:
- Events_events
summary: Delete a single event
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the event to delete
responses:
'204':
description: Event deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events:
post:
tags:
- Events_events
summary: Create a new event
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Event created
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events/delete:
post:
tags:
- Events_events
summary: Bulk delete events
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- ids
properties:
ids:
type: array
items:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: The ids of the bulkdeleterequest.
responses:
'200':
description: event deleted
content:
application/json:
schema:
type: object
properties:
deleted:
type: array
items:
type: string
format: uuid
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events/status:
put:
tags:
- Events_events
summary: Bulk update event status
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- ids
- status
properties:
ids:
type: array
items:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: The ids of the bulkupdatestatusrequest.
status:
type: string
example: failed
description: Current status of the resource.
maxLength: 255
responses:
'200':
description: Events updated
content:
application/json:
schema:
type: object
properties:
updated:
type: array
items:
type: string
format: uuid
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events/{id}/status:
put:
tags:
- Events_events
summary: Update status of a single event
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the event
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
example: completed
description: Current status of the resource.
maxLength: 255
responses:
'200':
description: Event status updated
content:
application/json:
schema:
type: object
properties:
message:
type: string
event_id:
type: string
format: uuid
status:
type: string
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/workspaces/{workspaceId}/events:
get:
x-internal:
- cloud
tags:
- Events_events
security:
- Events_jwt: []
operationId: getEventsOfWorkspace
summary: Get workspace events
description: Gets events for a workspace.
parameters:
- name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Workspace events
content:
application/json:
schema:
type: object
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
data:
type: array
items:
type: object
additionalProperties: false
description: EventResult entity schema.
properties:
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-go-name: UserID
x-go-type-skip-optional-pointer: true
system_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: system_id
x-go-name: SystemID
x-go-type-skip-optional-pointer: true
category:
type: string
description: The category of the event.
maxLength: 500
action:
type: string
description: The action of the event.
maxLength: 500
description:
type: string
description: Description of the event.
maxLength: 5000
firstName:
type: string
description: The first name of the event.
maxLength: 500
lastName:
type: string
description: The last name of the event.
maxLength: 500
email:
type: string
format: email
description: email
x-go-type-skip-optional-pointer: true
provider:
type: string
description: One of (x-oapi-codegen-extra-tags-cloud, github, google)
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
required:
- user_id
- category
- action
description: The data of the eventspage.
'400':
description: Invalid request
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
'401':
description: Unauthorized
'404':
description: Workspace not found
'500':
description: Server error
/api/events:
get:
x-internal:
- cloud
tags:
- Events_events
operationId: getEventsAggregate
summary: Get events aggregate summary
parameters:
- name: cumulative
in: query
required: false
schema:
type: boolean
responses:
'200':
description: Events aggregate
content:
application/json:
schema:
type: object
properties:
audit:
type: integer
description: The audit of the eventsaggregate.
minimum: 0
additionalProperties: true
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Server error
/api/events/list:
get:
x-internal:
- cloud
tags:
- Events_events
operationId: getEvents
summary: Get events list
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
description: Get filtered reponses
schema:
type: string
responses:
'200':
description: Events page
content:
application/json:
schema:
type: object
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
data:
type: array
items:
type: object
additionalProperties: false
description: EventResult entity schema.
properties:
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-go-name: UserID
x-go-type-skip-optional-pointer: true
system_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: system_id
x-go-name: SystemID
x-go-type-skip-optional-pointer: true
category:
type: string
description: The category of the event.
maxLength: 500
action:
type: string
description: The action of the event.
maxLength: 500
description:
type: string
description: Description of the event.
maxLength: 5000
firstName:
type: string
description: The first name of the event.
maxLength: 500
lastName:
type: string
description: The last name of the event.
maxLength: 500
email:
type: string
format: email
description: email
x-go-type-skip-optional-pointer: true
provider:
type: string
description: One of (x-oapi-codegen-extra-tags-cloud, github, google)
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
required:
- user_id
- category
- action
description: The data of the eventspage.
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Server error
/api/events/summary:
get:
x-internal:
- cloud
tags:
- Events_events
operationId: getEventSummaryByUser
summary: Get event summary by user
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
description: Get filtered reponses
schema:
type: string
responses:
'200':
description: Event summary page
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the eventsummarypage.
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Server error
/api/events/types:
get:
x-internal:
- cloud
tags:
- Events_events
operationId: getEventTypes
summary: Get event types
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Event types
content:
application/json:
schema:
type: array
items:
type: object
properties:
category:
type: string
description: The category of the eventtype.
maxLength: 500
action:
type: string
description: The action of the eventtype.
maxLength: 500
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Server error
/api/organizations/invitations/{invitationId}:
get:
x-internal:
- cloud
operationId: getInvitation
tags:
- Invitation_Invitation
summary: Get an invitation by ID
parameters:
- name: invitationId
in: path
required: true
description: The ID of the invitation
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and
can be used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to
assign users when signing up from fqdn or custom domain, a organization can only have one default
invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means
the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation
does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means
the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
operationId: deleteInvitation
tags:
- Invitation_Invitation
summary: Delete an invitation by ID
parameters:
- name: invitationId
in: path
required: true
description: The ID of the invitation
schema:
type: string
responses:
'204':
description: Invitation deleted
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
put:
x-internal:
- cloud
operationId: updateInvitation
tags:
- Invitation_Invitation
summary: Update an existing invitation
parameters:
- name: invitationId
in: path
required: true
description: The ID of the invitation
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
description: Payload for creating or updating an invitation.
required:
- name
- description
- org_id
- emails
- roles
- teams
- status
properties:
id:
x-go-name: ID
description: Existing invitation ID for updates; omit on create.
x-oapi-codegen-extra-tags:
json: id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: ID of the user who created the invitation.
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: Indicates whether the invitation is a default invitation (open invite).
x-oapi-codegen-extra-tags:
db: is_default
json: is_default,omitempty
name:
type: string
description: Name of the invitation.
minLength: 1
maxLength: 255
description:
type: string
description: Description of the invitation.
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: The emails of the invitation.
org_id:
type: string
description: ID of the organization to which the user is invited.
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
expires_at:
type: string
format: date-time
description: Timestamp when the invitation expires, if applicable.
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at,omitempty
quota:
type: integer
description: Quota for the invitation.
minimum: 0
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
required: true
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and
can be used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to
assign users when signing up from fqdn or custom domain, a organization can only have one default
invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means
the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation
does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means
the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/organizations/invitations:
get:
x-internal:
- cloud
operationId: getInvitations
tags:
- Invitation_Invitation
summary: Get all invitations for the organization
responses:
'200':
content:
application/json:
schema:
type: object
required:
- data
- total
properties:
data:
type: array
items:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation
and can be used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to
assign users when signing up from fqdn or custom domain, a organization can only have one
default invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be
empty string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null
means the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the
invitation does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means
the invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string
means the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used,
disabled means the invitation is no longer valid and is temporarily inactive, disabled
invitations can be re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
x-go-type: Invitation
description: List of invitations
x-oapi-codegen-extra-tags:
json: data
total:
type: integer
description: Total number of invitations available
x-oapi-codegen-extra-tags:
json: total
minimum: 0
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
operationId: createInvitation
tags:
- Invitation_Invitation
summary: Create a new invitation for the organization
requestBody:
content:
application/json:
schema:
type: object
description: Payload for creating or updating an invitation.
required:
- name
- description
- org_id
- emails
- roles
- teams
- status
properties:
id:
x-go-name: ID
description: Existing invitation ID for updates; omit on create.
x-oapi-codegen-extra-tags:
json: id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: ID of the user who created the invitation.
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: Indicates whether the invitation is a default invitation (open invite).
x-oapi-codegen-extra-tags:
db: is_default
json: is_default,omitempty
name:
type: string
description: Name of the invitation.
minLength: 1
maxLength: 255
description:
type: string
description: Description of the invitation.
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: The emails of the invitation.
org_id:
type: string
description: ID of the organization to which the user is invited.
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
expires_at:
type: string
format: date-time
description: Timestamp when the invitation expires, if applicable.
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at,omitempty
quota:
type: integer
description: Quota for the invitation.
minimum: 0
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
required: true
responses:
'201':
content:
application/json:
schema:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and
can be used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to
assign users when signing up from fqdn or custom domain, a organization can only have one default
invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means
the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation
does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means
the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/organizations/invitations/{invitationId}/accept:
post:
x-internal:
- cloud
operationId: acceptInvitation
tags:
- Invitation_Invitation
summary: Accept an invitation by ID
parameters:
- name: invitationId
in: path
required: true
description: The ID of the invitation
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and
can be used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to
assign users when signing up from fqdn or custom domain, a organization can only have one default
invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means
the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation
does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means
the invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/orgs/{orgId}/users/invite:
post:
x-internal:
- cloud
operationId: handleUserInvite
tags:
- Invitation_Invitation
summary: Invite users to an organization
parameters:
- name: orgId
in: path
required: true
description: The ID of the organization
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Invitation request accepted
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/request:
post:
x-internal:
- cloud
operationId: signupRequest
tags:
- Invitation_Invitation
summary: Create a signup request
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'201':
description: Signup request created
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
get:
x-internal:
- cloud
operationId: getSignupRequests
tags:
- Invitation_Invitation
summary: Get signup requests
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: filter
in: query
description: Get filtered reponses
schema:
type: string
responses:
'200':
description: Signup requests page
content:
application/json:
schema:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the signuprequestspage.
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/request/approve:
post:
x-internal:
- cloud
operationId: approveSignupRequest
tags:
- Invitation_Invitation
summary: Approve a signup request
responses:
'200':
description: Signup request approved
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/request/deny:
post:
x-internal:
- cloud
operationId: denySignupRequest
tags:
- Invitation_Invitation
summary: Deny a signup request
responses:
'200':
description: Signup request denied
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/users/request/notification:
get:
x-internal:
- cloud
operationId: getSignupRequestNotification
tags:
- Invitation_Invitation
summary: Get signup request notification summary
responses:
'200':
description: Signup request notification payload
content:
application/json:
schema:
type: object
additionalProperties: true
'204':
description: No pending signup request notifications
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/plans:
get:
x-internal:
- cloud
operationId: getPlans
tags:
- Plan_Plans
summary: Get all plans supported by the system
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
responses:
'200':
description: Plans response
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions:
get:
x-internal:
- cloud
tags:
- Subscription_Subscriptions
description: Returns all subscriptions for the organization
operationId: getSubscriptions
summary: Read subscriptions
security:
- Subscription_jwt: []
parameters:
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
- name: status
in: query
description: Filter subscriptions by status
required: false
schema:
type: array
items:
type: string
style: form
explode: true
responses:
'200':
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- subscriptions
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
subscriptions:
type: array
items:
x-go-type: Subscription
type: object
additionalProperties: false
description: Subscription entity schema.
required:
- id
- org_id
- plan_id
- billing_id
- status
- quantity
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
x-oapi-codegen-extra-tags:
db: org_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta2.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/plan
name: planv1beta2
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
quantity:
description: number of units subscribed (eg number of users)
type: integer
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
start_date:
x-oapi-codegen-extra-tags:
db: start_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
end_date:
x-oapi-codegen-extra-tags:
db: end_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
status:
x-go-type: SubscriptionStatus
x-oapi-codegen-extra-tags:
db: status
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition
to 'active' or 'incomplete_expired'.
incomplete_expired: >-
The subscription was created but never activated due to failed initial payment. It is now
expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: >-
The latest payment attempt failed, but the subscription remains active. Stripe may retry
the charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: >-
The subscription is still technically active but has unpaid invoices and is no longer
generating new invoices.
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
billing_id:
type: string
description: >-
Billing ID of the subscription. This is the ID of the subscription in the billing system. eg
Stripe
x-id-format: external
x-oapi-codegen-extra-tags:
db: billing_id
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
description: Subscriptions returned in the current page of results.
description: Get subscription response
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/{subscriptionId}/cancel:
post:
x-internal:
- cloud
tags:
- Subscription_Subscriptions
operationId: cancelSubscription
summary: >-
Cancel an existing subscription. The subscription will remain active until the end of the billing period and
then it will be canceled.
security:
- Subscription_jwt: []
parameters:
- name: subscriptionId
in: path
required: true
description: Subscription ID
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
required:
- page
- page_size
- total_count
- subscriptions
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
subscriptions:
type: array
items:
x-go-type: Subscription
type: object
additionalProperties: false
description: Subscription entity schema.
required:
- id
- org_id
- plan_id
- billing_id
- status
- quantity
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
x-oapi-codegen-extra-tags:
db: org_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta2.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/plan
name: planv1beta2
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
quantity:
description: number of units subscribed (eg number of users)
type: integer
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
start_date:
x-oapi-codegen-extra-tags:
db: start_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
end_date:
x-oapi-codegen-extra-tags:
db: end_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
status:
x-go-type: SubscriptionStatus
x-oapi-codegen-extra-tags:
db: status
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition
to 'active' or 'incomplete_expired'.
incomplete_expired: >-
The subscription was created but never activated due to failed initial payment. It is now
expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: >-
The latest payment attempt failed, but the subscription remains active. Stripe may retry
the charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: >-
The subscription is still technically active but has unpaid invoices and is no longer
generating new invoices.
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
billing_id:
type: string
description: >-
Billing ID of the subscription. This is the ID of the subscription in the billing system. eg
Stripe
x-id-format: external
x-oapi-codegen-extra-tags:
db: billing_id
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
description: Subscriptions returned in the current page of results.
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/create:
post:
x-internal:
- cloud
tags:
- Subscription_Subscriptions
operationId: createSubscription
summary: Create a new subscription for an organization
security:
- Subscription_jwt: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
orgId:
description: Organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
planId:
type: string
description: Price ID from the payment processor
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
couponId:
type: string
description: Coupon ID to apply
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
userCount:
type: integer
description: Number of users in the organization
minimum: 0
email:
type: string
format: email
description: Email of the customer
paymentProcessor:
type: string
enum:
- stripe
- paypal
- braintree
description: Supported payment processors
responses:
'201':
description: A new subscription has been created
content:
application/json:
schema:
type: object
properties:
subscriptionId:
type: string
description: ID of the associated subscription.
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
clientSecret:
type: string
description: Client secret returned by the payment processor for the subscription checkout flow.
maxLength: 500
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/{subscriptionId}/upgrade:
post:
x-internal:
- cloud
tags:
- Subscription_Subscriptions
operationId: upgradeSubscription
summary: Upgrade or downgrade an existing subscription by changing one of the plans in the subscription
security:
- Subscription_jwt: []
parameters:
- name: subscriptionId
in: path
required: true
description: Subscription ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
oldPlanId:
description: Old Plan id that is being changed
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
newPlanId:
description: New Plan id that is being changed to
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: false
description: Subscription entity schema.
required:
- id
- org_id
- plan_id
- billing_id
- status
- quantity
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
x-oapi-codegen-extra-tags:
db: org_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta2.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/plan
name: planv1beta2
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
quantity:
description: number of units subscribed (eg number of users)
type: integer
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
start_date:
x-oapi-codegen-extra-tags:
db: start_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
end_date:
x-oapi-codegen-extra-tags:
db: end_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
status:
x-go-type: SubscriptionStatus
x-oapi-codegen-extra-tags:
db: status
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition to
'active' or 'incomplete_expired'.
incomplete_expired: >-
The subscription was created but never activated due to failed initial payment. It is now
expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: >-
The latest payment attempt failed, but the subscription remains active. Stripe may retry the
charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: >-
The subscription is still technically active but has unpaid invoices and is no longer generating
new invoices.
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
billing_id:
type: string
description: >-
Billing ID of the subscription. This is the ID of the subscription in the billing system. eg
Stripe
x-id-format: external
x-oapi-codegen-extra-tags:
db: billing_id
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/{subscriptionId}/upgrade-preview:
post:
x-internal:
- cloud
tags:
- Subscription_Subscriptions
operationId: previewSubscriptionUpgrade
summary: >-
Preview the invoice for upgrading or downgrading an existing subscription by changing one of the plans in the
subscription
security:
- Subscription_jwt: []
parameters:
- name: subscriptionId
in: path
required: true
description: Subscription ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
oldPlanId:
description: Old Plan id that is being changed
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
newPlanId:
description: New Plan id that is being changed to
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Preview of the upgraded subscription invoice
content:
application/json:
schema:
type: object
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/entitlement/subscriptions/webhooks:
post:
x-internal:
- cloud
tags:
- Subscription_Payment Processors
operationId: handleSubscriptionWebhook
summary: Handle webhook events from payment processors
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for webhook events from payment processors
responses:
'200':
description: Webhook processed
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/tokens:
get:
x-internal:
- cloud
tags:
- token_tokens
summary: Get tokens
operationId: getUserTokens
description: Retrieves tokens associated with the authenticated user.
parameters:
- name: isOAuth
in: query
description: Whether to retrieve OAuth-backed sessions instead of API tokens.
schema:
type: boolean
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
- name: search
in: query
description: Get responses that match search param value
schema:
type: string
- name: order
in: query
description: Get ordered responses
schema:
type: string
responses:
'200':
description: Tokens response
content:
application/json:
schema:
type: object
description: A paginated list of tokens.
required:
- tokens
- total_count
- page
- page_size
properties:
tokens:
type: array
items:
x-go-type: UserToken
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
x-order: 1
description: The tokens of the tokenpage.
total_count:
type: integer
description: Total number of tokens across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of tokens per page.
x-order: 4
minimum: 1
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
post:
x-internal:
- cloud
tags:
- token_tokens
summary: Generate token
operationId: generateToken
description: Generates a token for the authenticated user.
parameters:
- name: name
in: query
description: Name of the token.
required: true
schema:
type: string
- name: purpose
in: query
description: Purpose for which the token is generated.
schema:
type: string
responses:
'200':
description: Token generated
content:
application/json:
schema:
type: object
description: A paginated list of tokens.
required:
- tokens
- total_count
- page
- page_size
properties:
tokens:
type: array
items:
x-go-type: UserToken
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
x-order: 1
description: The tokens of the tokenpage.
total_count:
type: integer
description: Total number of tokens across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of tokens per page.
x-order: 4
minimum: 1
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
delete:
x-internal:
- cloud
tags:
- token_tokens
summary: Delete token
operationId: deleteUserToken
description: Deletes a specific token for the authenticated user.
parameters:
- name: tokenId
in: query
description: ID of the token.
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Token deleted
content:
application/json:
schema:
type: object
description: A paginated list of tokens.
required:
- tokens
- total_count
- page
- page_size
properties:
tokens:
type: array
items:
x-go-type: UserToken
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
x-order: 1
description: The tokens of the tokenpage.
total_count:
type: integer
description: Total number of tokens across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of tokens per page.
x-order: 4
minimum: 1
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/tokens/{id}:
get:
x-internal:
- cloud
tags:
- token_tokens
summary: Get token by ID
operationId: getUserTokensById
description: Retrieves a specific token by its ID.
parameters:
- name: id
in: path
description: Token ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
responses:
'200':
description: Token response
content:
application/json:
schema:
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'404':
description: Result not found
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/api/identity/tokens/infinite:
get:
x-internal:
- cloud
tags:
- token_tokens
summary: Issue indefinite lifetime token
operationId: issueIndefiniteLifetimeToken
description: Creates a non-expiring user token for provider admin use cases.
parameters:
- name: userId
in: query
description: UUID of the user.
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
- name: provider
in: query
description: Remote provider.
required: true
schema:
type: string
responses:
'200':
description: Token generated
content:
application/json:
schema:
type: object
description: A paginated list of tokens.
required:
- tokens
- total_count
- page
- page_size
properties:
tokens:
type: array
items:
x-go-type: UserToken
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
x-order: 1
description: The tokens of the tokenpage.
total_count:
type: integer
description: Total number of tokens across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of tokens per page.
x-order: 4
minimum: 1
'400':
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
components:
schemas:
Catalog_CatalogData:
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the origin and
expected support level for each piece of content. It is important to note that the level of support may vary
within each class, and you should exercise discretion when using community-contributed content. Content
produced and fully supported by Meshery maintainers. This represents the highest level of support and is
considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not
directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility.
Content produced and supported by the respective project or organization responsible for the specific
technology. This class offers a level of support from the project maintainers themselves. Content produced
and shared by Meshery users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels of support and
reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level of
support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly maintained by
Meshery, it has undergone a verification process to ensure quality and compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as performance
profiles, test results, filters, patterns, and applications. Reference architecture content may have
varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models implicated
by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
Relationship_RelationshipDefinition:
description: >-
Relationships define the nature of interaction between interconnected components in Meshery. The combination of
relationship properties kind, type, and subtype characterize various genealogical relations among and between
components. Relationships have selectors, selector sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
description: Uniquely identifies the entity
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and SubType together
uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies
those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface,
and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log streaming on a
Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the configuration
of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability for a
component to be dragged and dropped. Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType together
uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and entities under
management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent
affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element with a
higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under
nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack (very fast,
bundled straight edges for which loops and compounds are unsupported), straight (straight edges with
all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with
manual control points), segments (a series of straight lines), taxi (right-angled lines,
hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that
edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be
visible, depending on the shape of the node and the relative size of the node and edge. Caps other
than butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge
label versus the edge line. Note that the opacity value of the edge element affects the effective
opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed
(e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
description: Foreign key reference to the model
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation Notice: In the
future, this property is either to be removed or to it is to be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors that share a
common functionality. This structure allows for flexibility in defining relationships, even when different
components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is applied to all
Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON
Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON
Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: Optional selectors used to define relationships which should not be created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON
Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON
Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
Relationship_MatchSelectorItem:
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
Relationship_MatchSelector:
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
x-oapi-codegen-extra-tags:
json: match,omitempty
Relationship_RelationshipDefinition_Selectors_Patch:
x-go-name: RelationshipDefinition_Selectors_Patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC
6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the patch. If the target location
doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
Relationship_SelectorItem:
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed
(e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC
6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the target location
doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
Relationship_Selector:
type: object
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform upon
selection match.
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format
(RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the target
location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: Name of the model implicated by this selector. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format
(RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the target
location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config,
name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at
[configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
Relationship_SelectorSetItem:
type: object
description: Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: Optional selectors used to define relationships which should not be created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to perform
upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url]
will be patched at [configPatch, value]. Similarly [config,name] will be patched at
[name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
Relationship_SelectorSet:
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors that share a common
functionality. This structure allows for flexibility in defining relationships, even when different components
are involved.
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
items:
x-go-type: SelectorSetItem
type: object
description: Optional selectors used to match Components. Absence of a selector means that it is applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: Optional selectors used to define relationships which should not be created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of actions to
perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: Optional fields that are a part of the selector. Absence of a field has an implied * meaning.
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
x-oapi-codegen-extra-tags:
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config,
url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value
[config, url] will be patched at [configPatch, value]. Similarly [config,name] will
be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch
format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the
target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url],
[config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
Relationship_Relationship_Metadata:
x-go-name: Relationship_Metadata
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and entities under
management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects
the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element with a higher
z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements
id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack (very fast,
bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all
arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node
shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be
visible, depending on the shape of the node and the relative size of the node and edge. Caps other than
butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge
label versus the edge line. Note that the opacity value of the edge element affects the effective
opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
Relationship_RelationshipDefinitionMetadataStyles:
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the
effective opacity of its children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element with a higher
z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled
straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows
supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control
points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that
haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will
not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be
visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt
extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label
versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its
line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements
id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements
id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
Badge_BadgePayload:
type: object
description: Payload for creating or updating a badge.
required:
- label
- name
- org_id
- description
- image_url
properties:
id:
x-go-name: ID
description: Existing badge ID for updates; omit on create.
x-oapi-codegen-extra-tags:
db: id
json: id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available.
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
Badge_Badge:
type: object
required:
- id
- label
- name
- org_id
- description
- image_url
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available .
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
description: Timestamp when the resource was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
Badge_BadgesPage:
type: object
properties:
badges:
type: object
additionalProperties:
type: object
required:
- id
- label
- name
- org_id
- description
- image_url
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
description: The ID of the organization in which this badge is available .
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
label:
type: string
description: unique identifier for the badge ( auto generated )
example: Kubernetes-Expert
x-oapi-codegen-extra-tags:
db: label
json: label
maxLength: 500
name:
type: string
description: Concise descriptor for the badge or certificate.
example: Kubernetes Expert
x-oapi-codegen-extra-tags:
db: name
json: name
minLength: 1
maxLength: 255
description:
type: string
description: A description of the milestone achieved, often including criteria for receiving this recognition.
example: Awarded for mastering Kubernetes concepts and practices.
x-oapi-codegen-extra-tags:
db: description
json: description
maxLength: 5000
image_url:
type: string
format: uri
description: URL to the badge image
example: >-
https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp
x-oapi-codegen-extra-tags:
db: image_url
json: image_url
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
description: Timestamp when the resource was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
description: The badges of the badgespage.
Badge_BadgeAssignmentPayload:
type: object
properties:
badges:
type: array
items:
type: string
description: The badges of the badgeassignment.
user_id:
type: string
description: ID of the user who owns or created this resource.
maxLength: 500
format: uuid
notify:
type: boolean
description: The notify of the badgeassignment.
Category_CategoryDefinition:
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
credential_Credential:
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by connections to
external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
credential_CredentialPage:
type: object
description: A paginated list of credentials.
required:
- credentials
- total_count
- page
- page_size
properties:
credentials:
type: array
items:
x-go-type: Credential
type: object
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- name
- type
properties:
id:
description: Unique identifier for the credential.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the credential.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
type: string
description: Credential type (e.g. token, basic, AWS).
x-order: 4
x-oapi-codegen-extra-tags:
db: type
maxLength: 255
secret:
type: object
description: Key-value pairs containing the sensitive credential data.
x-order: 5
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: secret
created_at:
x-order: 6
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 7
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the credential was soft-deleted.
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 1
description: The credentials of the credentialpage.
total_count:
type: integer
description: Total number of credentials across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of credentials per page.
x-order: 4
minimum: 1
Environment_Environment:
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Environment_EnvironmentConnectionMapping:
properties:
id:
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
environment_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-skip-optional-pointer: true
description: ID of the associated environment.
connection_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: connection_id
json: connection_id
x-go-type-skip-optional-pointer: true
description: ID of the associated connection.
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Environment_EnvironmentPayload:
properties:
name:
description: >-
An environment is a collection of resources. Provide a name that meaningfully represents these resources.
You can change the name of the environment even after its creation.
type: string
x-go-type-skip-optional-pointer: true
description:
description: >-
An environment is a collection of resources, such as connections & credentail. Provide a detailed
description to clarify the purpose of this environment and the types of resources it encompasses. You can
modify the description at any Time. Learn more about environments
[here](https://docs.meshery.io/concepts/logical/environments).
type: string
x-go-type-skip-optional-pointer: true
organization_id:
type: string
description: >-
Select an organization in which you want to create this new environment. Keep in mind that the organization
cannot be changed after creation.
x-go-type-skip-optional-pointer: true
x-go-name: OrgId
x-oapi-codegen-extra-tags:
json: organization_id
maxLength: 500
format: uuid
required:
- name
- organization_id
Environment_EnvironmentPage:
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
environments:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Environment
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials. Learn more
at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Environments associated with this resource.
Environment_EnvironmentConnectionsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
connections:
type: array
items:
type: object
additionalProperties: true
description: The connections of the environmentconnectionspage.
Evaluation_EvaluationRequest:
type: object
required:
- design
properties:
design:
x-go-type: patternv1beta1.PatternFile
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/pattern
name: patternv1beta1
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be
manually set by a user or third-party system, but will always be required to be of version number higher
than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another component,
resolvedAlias are aware of there immediate parents and completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models. Learn
more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are not
allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or
manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack,
github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated
Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment
remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view
a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities
or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that position
in the given dimensions. If the position is not set, the node is drawn at a random
position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will label
with the elements id
body-text-wrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name (e.g.
red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red), hex
(e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for values
from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-fit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
background-width-relative-to:
type: string
description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
background-height-relative-to:
type: string
description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red), hex
(e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element drawn at
an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
active-bg-opacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
active-bg-size:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs to
be *core*. Colours may be specified by name (e.g. red), hex (e.g.
selection-box-border-width:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when initOptions.textureOnViewport
=== true. Selector needs to be *core*. Colours may be specified by name (e.g. red),
hex (e.g.
outside-texture-bg-opacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing
alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points
in the polygon for the node's shape. The bounding box of the node is given by (-1,
-1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by name
(e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions
may define a broad array of capabilities, which are in-turn dynamically interpretted by
Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect metrics,
and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether the
component should be treated as deployable entity or is for purposes of logical
representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry. When
the same 'published' property in Models, is set to 'false', the Model property takes
precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps , this is
herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a Kubernetes
Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A
Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery. The
combination of relationship properties kind, type, and subtype characterize various genealogical
relations among and between components. Relationships have selectors, selector sets, metadata, and
optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and SubType
together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and
entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier (bundled
curved edges), unbundled-bezier (curved edges for use with manual control points),
segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also
note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may
or may not be visible, depending on the shape of the node and the relative size of the
node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of the
edge element affects the effective opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation
Notice: In the future, this property is either to be removed or to it is to be an array of
optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors
that share a common functionality. This structure allows for flexibility in defining
relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is applied
to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
options:
type: object
properties:
returnDiffOnly:
type: boolean
description: If true, only return the diff of changes instead of the complete updated design
enableTrace:
type: boolean
description: If true, include detailed trace information in the response
description: The options of the evaluationrequest.
Evaluation_EvaluationResponse:
type: object
description: Schema for the response of a relationship evaluation process in Meshery
required:
- schemaVersion
- design
- actions
properties:
schemaVersion:
type: string
description: Specifies the version of the schema to which the evaluation response conforms.
maxLength: 500
design:
x-go-type: patternv1beta1.PatternFile
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/pattern
name: patternv1beta1
description: >-
The final evaluated design, including all updated components and relationships. This can be either the
complete updated design or only a diff of changes. The version of the design will be automatically
incremented if any modifications are made during the evaluation process. This field provides a comprehensive
view of the design state after all relationship evaluations and policy applications have been completed.
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be
manually set by a user or third-party system, but will always be required to be of version number higher
than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another component,
resolvedAlias are aware of there immediate parents and completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models. Learn
more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are not
allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or
manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack,
github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated
Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment
remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view
a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities
or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that position
in the given dimensions. If the position is not set, the node is drawn at a random
position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will label
with the elements id
body-text-wrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name (e.g.
red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red), hex
(e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for values
from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
background-fit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
background-width-relative-to:
type: string
description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
background-height-relative-to:
type: string
description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red), hex
(e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element drawn at
an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
active-bg-opacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
active-bg-size:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs to
be *core*. Colours may be specified by name (e.g. red), hex (e.g.
selection-box-border-width:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when initOptions.textureOnViewport
=== true. Selector needs to be *core*. Colours may be specified by name (e.g. red),
hex (e.g.
outside-texture-bg-opacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing
alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points
in the polygon for the node's shape. The bounding box of the node is given by (-1,
-1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by name
(e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions
may define a broad array of capabilities, which are in-turn dynamically interpretted by
Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect metrics,
and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether the
component should be treated as deployable entity or is for purposes of logical
representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry. When
the same 'published' property in Models, is set to 'false', the Model property takes
precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps , this is
herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a Kubernetes
Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A
Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery. The
combination of relationship properties kind, type, and subtype characterize various genealogical
relations among and between components. Relationships have selectors, selector sets, metadata, and
optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and SubType
together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and
entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier (bundled
curved edges), unbundled-bezier (curved edges for use with manual control points),
segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also
note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may
or may not be visible, depending on the shape of the node and the relative size of the
node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of the
edge element affects the effective opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation
Notice: In the future, this property is either to be removed or to it is to be an array of
optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors
that share a common functionality. This structure allows for flexibility in defining
relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is applied
to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
evaluationHash:
type: string
description: >-
Hash of the input parameters and configuration used for this evaluation. Useful for identifying duplicate
evaluations or caching results.
example: a1b2c3d4e5f6g7h8i9j0
maxLength: 500
timestamp:
type: string
format: date-time
description: ISO 8601 formatted timestamp of when the evaluation was completed.
actions:
type: array
items:
type: object
required:
- op
- value
properties:
op:
type: string
enum:
- update_component
- update_component_configuration
- add_component
- delete_component
- add_relationship
- update_relationship
- delete_relationship
description: The op of the action.
value:
type: object
description: The value of the action.
description: The actions of the evaluationresponse.
Evaluation_Action:
type: object
required:
- op
- value
properties:
op:
type: string
enum:
- update_component
- update_component_configuration
- add_component
- delete_component
- add_relationship
- update_relationship
- delete_relationship
description: The op of the action.
value:
type: object
description: The value of the action.
Evaluation_UpdateComponentOp:
type: object
properties:
op:
type: string
enum:
- update_component
description: The op of the updatecomponentop.
value:
type: object
required:
- id
- path
- value
properties:
id:
type: string
format: uuid
description: Identifier of the component to update.
path:
type: array
description: Path to the field being updated on the component.
items:
type: string
value:
description: New value to write at the specified component path.
mode:
type: string
description: Strategy to use when applying the component update value.
enum:
- replace
- merge
default: replace
description: The value of the updatecomponentop.
Evaluation_UpdateComponentConfigurationOp:
type: object
properties:
op:
type: string
enum:
- update_component_configuration
description: The op of the updatecomponentconfigurationop.
value:
type: object
required:
- id
- path
- value
properties:
id:
type: string
format: uuid
description: Identifier of the component whose configuration will be updated.
path:
type: array
description: Path to the configuration field being updated.
items:
type: string
value:
description: New configuration value to write at the specified path.
mode:
type: string
description: Strategy to use when applying the configuration update value.
enum:
- replace
- merge
default: replace
description: The value of the updatecomponentconfigurationop.
Evaluation_DeleteComponentOp:
type: object
properties:
op:
type: string
enum:
- delete_component
description: The op of the deletecomponentop.
value:
type: object
required:
- id
properties:
id:
type: string
format: uuid
description: Identifier of the component to delete.
description: The value of the deletecomponentop.
Evaluation_AddComponentOp:
type: object
properties:
op:
type: string
enum:
- add_component
description: The op of the addcomponentop.
value:
type: object
required:
- item
properties:
item:
type: object
additionalProperties: true
description: The value of the addcomponentop.
Evaluation_UpdateRelationshipOp:
type: object
properties:
op:
type: string
enum:
- update_relationship
description: The op of the updaterelationshipop.
value:
type: object
required:
- id
- path
- value
properties:
id:
type: string
format: uuid
description: Identifier of the relationship to update.
path:
type: array
description: Path to the field being updated on the relationship.
items:
type: string
value:
description: New value to write at the specified relationship path.
description: The value of the updaterelationshipop.
Evaluation_DeleteRelationshipOp:
type: object
properties:
op:
type: string
enum:
- delete_relationship
description: The op of the deleterelationshipop.
value:
type: object
required:
- id
properties:
id:
type: string
format: uuid
description: Identifier of the relationship to delete.
description: The value of the deleterelationshipop.
Evaluation_AddRelationshipOp:
type: object
properties:
op:
type: string
enum:
- add_relationship
description: The op of the addrelationshipop.
value:
type: object
required:
- item
properties:
item:
type: object
additionalProperties: true
description: The value of the addrelationshipop.
Evaluation_ComponentDeclaration:
type: object
additionalProperties: true
Evaluation_RelationshipDeclaration:
type: object
additionalProperties: true
Feature_FeaturesPage:
type: array
items:
x-go-type: Feature
type: object
required:
- id
- plan_id
- quantity
- name
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta1.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/plan
name: planv1beta1
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
description: Name of the plan
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- monthly
- yearly
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
name:
x-go-type: FeatureName
x-oapi-codegen-extra-tags:
db: name
type: string
x-enum-casing-exempt: true
enum:
- ComponentsInDesign
- RelationshipsInDesign
- DesignsInWorkspace
- WorkspacesInOrganization
- ImageSizeInDesign
- SizePerDesign
description: Enumeration of possible feature types
quantity:
type: number
description: Quantity of the feature allowed, use 9999999999 for unlimited
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
additionalProperties: false
Feature_FeatureName:
type: string
x-enum-casing-exempt: true
enum:
- ComponentsInDesign
- RelationshipsInDesign
- DesignsInWorkspace
- WorkspacesInOrganization
- ImageSizeInDesign
- SizePerDesign
description: Enumeration of possible feature types
Feature_Feature:
type: object
required:
- id
- plan_id
- quantity
- name
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta1.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/plan
name: planv1beta1
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
description: Name of the plan
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- monthly
- yearly
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
name:
x-go-type: FeatureName
x-oapi-codegen-extra-tags:
db: name
type: string
x-enum-casing-exempt: true
enum:
- ComponentsInDesign
- RelationshipsInDesign
- DesignsInWorkspace
- WorkspacesInOrganization
- ImageSizeInDesign
- SizePerDesign
description: Enumeration of possible feature types
quantity:
type: number
description: Quantity of the feature allowed, use 9999999999 for unlimited
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
additionalProperties: false
Key_Key:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Key_KeyPayload:
type: object
description: Payload for creating or updating a key.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
function:
type: string
description: Operation permitted by the key.
x-order: 2
maxLength: 500
category:
type: string
description: Category for the key.
x-order: 3
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-order: 4
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-order: 5
maxLength: 5000
Key_KeyPage:
type: object
required:
- page
- page_size
- total_count
- keys
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keys:
type: array
items:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
owner:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: Owner
x-oapi-codegen-extra-tags:
db: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
x-order: 6
maxLength: 5000
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 8
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 9
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keys of the keypage.
Keychain_Keychain:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Keychain_KeychainInput:
type: object
description: Input payload for creating or updating a keychain.
required:
- name
properties:
name:
type: string
description: Name of the keychain.
x-order: 1
minLength: 1
maxLength: 255
owner:
description: Owner of the keychain.
x-order: 2
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Keychain_KeychainPage:
type: object
required:
- page
- page_size
- total_count
- keychains
properties:
page:
x-order: 1
type: integer
x-go-type-skip-optional-pointer: true
page_size:
x-order: 2
type: integer
x-go-type-skip-optional-pointer: true
total_count:
x-order: 3
type: integer
x-go-type-skip-optional-pointer: true
keychains:
type: array
items:
type: object
additionalProperties: false
description: Represents a collection of keys.
required:
- id
- name
- owner
- created_at
- updated_at
properties:
id:
description: Unique identifier for the keychain.
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
x-order: 1
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the keychain.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
x-order: 2
owner:
description: Owner of the keychain.
x-oapi-codegen-extra-tags:
db: owner
x-order: 3
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 6
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The keychains of the keychainpage.
Model_Model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
Model_ModelDefinition:
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Models serve as a portable unit of packaging to define managed entities, their relationships, and
capabilities.
additionalProperties: false
type: object
properties:
id:
description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: Model display name may include letters, numbers, and spaces. Special characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the canonical reference
and that is duplicated by other components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are
tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials. Learn
more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly
identifies those capabilities largely by what actions a given component supports; e.g. metric-scrape,
sub-interface, and so on. This field is extensible. Entities may define a broad array of capabilities,
which are in-turn dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log streaming on
a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability for a
component to be dragged and dropped. Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType
together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities or as logical
representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and height, and so
you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height for
several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
Model_RegistrantReference:
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
Model_ModelReference:
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed (e.g.
Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
description: >-
Reference to the specific registered model to which the component belongs and from which model version,
category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models
Model_ImportRequest:
type: object
required:
- importBody
- uploadType
- register
properties:
importBody:
oneOf:
- title: File Import
type: object
required:
- fileName
- modelFile
properties:
fileName:
type: string
description: Name of the file being uploaded.
maxLength: 255
modelFile:
type: string
format: file
description: >-
Supported model file formats are: .tar, .tar.gz, and .tgz. See [Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: URL Import
type: object
required:
- url
properties:
url:
type: string
format: uri
description: >-
A direct URL to a single model file, for example: https://raw.github.com/your-model-file.tar.
Supported model file formats are: .tar, .tar.gz, and .tgz. \n\nFor bulk import of your model use the
GitHub connection or CSV files. See [Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: CSV Import
type: object
required:
- modelCsv
- componentCsv
- relationshipCsv
properties:
modelCsv:
type: string
format: binary
description: Upload a CSV file containing model definitions
componentCsv:
type: string
format: binary
description: Upload a CSV file containing component definitions
relationshipCsv:
type: string
format: binary
description: Upload a CSV file containing relationship definitions
- title: Model Create
type: object
required:
- model
- url
properties:
url:
type: string
description: URI to the source code or package of the model.
format: uri
oneOf:
- title: GitHub
type: string
pattern: ^git://github\.com/[\w.-]+/[\w.-]+(/[\w.-]+/[\w/-]+)?$
description: Git protocol URL for GitHub repository or specific resource path
example: git://github.com/cert-manager/cert-manager/master/deploy/crds
x-metadata:
uiType: url
validationHint: Enter a git protocol URL (e.g., git://github.com/owner/repo)
- title: Artifact Hub
type: string
pattern: ^https:\/\/artifacthub\.io\/packages\/(search\?ts_query_web=[\w.-]+|[\w.-]+\/[\w.-]+\/[\w.-]+)$
description: Artifact Hub package URL or search query URL with model name parameter
example: https://artifacthub.io/packages/search?ts_query_web={model-name}
x-metadata:
uiType: url
validationHint: >-
Enter an Artifact Hub URL (e.g.,
https://artifacthub.io/packages/search?ts_query_web={meshery-operator})
uploadType:
type: string
title: Upload method
x-enum-casing-exempt: true
enum:
- file
- urlImport
- csv
- url
enumDescriptions:
- Upload a model file (.tar, .tar.gz, .tgz) from your local system
- Import a model file using a direct URL to the source
- Upload separate CSV files for model definitions, components, and their relationships
description: >-
Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the
file on your local system or 'URL Import' if you have the file hosted online.
register:
type: boolean
nullable: false
description: The register of the importrequest.
Model_ImportBody:
oneOf:
- title: File Import
type: object
required:
- fileName
- modelFile
properties:
fileName:
type: string
description: Name of the file being uploaded.
maxLength: 255
modelFile:
type: string
format: file
description: >-
Supported model file formats are: .tar, .tar.gz, and .tgz. See [Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: URL Import
type: object
required:
- url
properties:
url:
type: string
format: uri
description: >-
A direct URL to a single model file, for example: https://raw.github.com/your-model-file.tar. Supported
model file formats are: .tar, .tar.gz, and .tgz. \n\nFor bulk import of your model use the GitHub
connection or CSV files. See [Import Models
Documentation](https://docs.meshery.io/guides/configuration-management/importing-models#import-models-using-meshery-ui)
for details
- title: CSV Import
type: object
required:
- modelCsv
- componentCsv
- relationshipCsv
properties:
modelCsv:
type: string
format: binary
description: Upload a CSV file containing model definitions
componentCsv:
type: string
format: binary
description: Upload a CSV file containing component definitions
relationshipCsv:
type: string
format: binary
description: Upload a CSV file containing relationship definitions
- title: Model Create
type: object
required:
- model
- url
properties:
url:
type: string
description: URI to the source code or package of the model.
format: uri
oneOf:
- title: GitHub
type: string
pattern: ^git://github\.com/[\w.-]+/[\w.-]+(/[\w.-]+/[\w/-]+)?$
description: Git protocol URL for GitHub repository or specific resource path
example: git://github.com/cert-manager/cert-manager/master/deploy/crds
x-metadata:
uiType: url
validationHint: Enter a git protocol URL (e.g., git://github.com/owner/repo)
- title: Artifact Hub
type: string
pattern: ^https:\/\/artifacthub\.io\/packages\/(search\?ts_query_web=[\w.-]+|[\w.-]+\/[\w.-]+\/[\w.-]+)$
description: Artifact Hub package URL or search query URL with model name parameter
example: https://artifacthub.io/packages/search?ts_query_web={model-name}
x-metadata:
uiType: url
validationHint: >-
Enter an Artifact Hub URL (e.g.,
https://artifacthub.io/packages/search?ts_query_web={meshery-operator})
Model_MeshModelModelsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
models:
type: array
items:
type: object
additionalProperties: true
description: The models of the meshmodelmodelspage.
Organization_UUID:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Organization_NullableTime:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
Organization_Time:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Organization_Text:
type: string
x-go-type-skip-optional-pointer: true
Organization_MapObject:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
Organization_OrgTeamActionPayload:
type: object
description: Optional action payload for POST on /api/identity/orgs/{orgId}/teams/{teamId}.
properties:
action:
type: string
description: Internal action to perform on the team resource.
enum:
- delete
Organization_Location:
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
Organization_Logo:
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
Organization_Theme:
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
Organization_DashboardPrefs:
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
Organization_Preferences:
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
Organization_OrgMetadata:
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
Organization_Organization:
type: object
required:
- id
- name
- country
- region
- description
- owner
- metadata
- created_at
- updated_at
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-oapi-codegen-extra-tags:
db: name
description: Name of the organization.
minLength: 1
maxLength: 255
country:
type: string
x-oapi-codegen-extra-tags:
db: country
description: The country of the organization.
maxLength: 500
region:
type: string
x-oapi-codegen-extra-tags:
db: region
description: The region of the organization.
maxLength: 500
description:
type: string
x-oapi-codegen-extra-tags:
db: description
description: Description of the organization.
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-go-type: OrgMetadata
x-oapi-codegen-extra-tags:
db: metadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: deleted_at
domain:
type: string
nullable: true
x-oapi-codegen-extra-tags:
db: domain
description: The domain of the organization.
maxLength: 500
Organization_AvailableOrganization:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
Organization_OrganizationsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationspage.
Organization_OrganizationPage:
type: object
description: Single-organization wrapper used by current meshery-cloud organization handlers.
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
organizations:
type: array
maxItems: 1
items:
type: object
properties:
id:
x-go-name: ID
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The organizations of the organizationpage.
Organization_OrganizationPayload:
type: object
properties:
name:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: The notify org update of the organization.
preferences:
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
Organization_AvailableTeam:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
Organization_TeamsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
teams:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
owner:
type: string
x-go-type-skip-optional-pointer: true
metadata:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The teams of the teamspage.
Organization_TeamsOrganizationsMapping:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
orgId:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
Organization_TeamsOrganizationsMappingPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
teamsOrganizationsMapping:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
orgId:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
description: The teams organizations mapping of the teamsorganizationsmappingpage.
role_Role:
type: object
description: Role definition for Layer5 Cloud (Meshery).
required:
- role_name
- description
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
role_name:
type: string
description: Unique name of the role.
x-order: 2
x-oapi-codegen-extra-tags:
db: role_name
maxLength: 500
description:
type: string
description: Human-readable description of the role.
x-order: 3
x-oapi-codegen-extra-tags:
db: description
maxLength: 5000
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the role was soft-deleted.
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
role_RolesPage:
type: object
description: A paginated list of roles.
required:
- page
- page_size
- total_count
- roles
properties:
page:
type: integer
description: Current page number (zero-based).
x-order: 1
minimum: 0
page_size:
type: integer
description: Number of roles per page.
x-order: 2
minimum: 1
total_count:
type: integer
description: Total number of roles across all pages.
x-order: 3
minimum: 0
roles:
type: array
items:
x-go-type: Role
type: object
description: Role definition for Layer5 Cloud (Meshery).
required:
- role_name
- description
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
role_name:
type: string
description: Unique name of the role.
x-order: 2
x-oapi-codegen-extra-tags:
db: role_name
maxLength: 500
description:
type: string
description: Human-readable description of the role.
x-order: 3
x-oapi-codegen-extra-tags:
db: description
maxLength: 5000
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the role was soft-deleted.
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-order: 4
description: The roles of the rolespage.
role_RolesKeychainsMapping:
type: object
description: Mapping between a role and a keychain.
required:
- id
- keychain_id
- role_id
- created_at
- updated_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
db: id
keychain_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 2
x-oapi-codegen-extra-tags:
db: keychain_id
role_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 3
x-oapi-codegen-extra-tags:
db: role_id
created_at:
x-order: 4
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 5
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-order: 6
x-oapi-codegen-extra-tags:
db: deleted_at
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
role_RoleHolderRequest:
type: object
description: Request body for assigning a role to a user.
required:
- email
- roleNames
properties:
email:
type: string
format: email
description: Email of the user to assign roles to.
x-order: 1
roleNames:
type: array
items:
type: string
description: List of role names to assign.
x-order: 2
role_UserRoleUpdateRequest:
type: object
description: Request to update role assignments for a user.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 2
username:
type: string
x-order: 3
description: The username of the userroleupdaterequest.
maxLength: 500
email:
type: string
format: email
x-order: 4
description: Email address.
firstName:
type: string
x-order: 5
description: The first name of the userroleupdaterequest.
maxLength: 500
lastName:
type: string
x-order: 6
description: The last name of the userroleupdaterequest.
maxLength: 500
status:
type: string
x-order: 7
description: Current status of the resource.
maxLength: 255
roleNames:
type: array
items:
type: string
x-order: 8
description: The role names of the userroleupdaterequest.
created_at:
x-order: 9
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-order: 11
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
role_Preference:
type: object
description: User notification preferences.
required:
- welcomeEmail
- notifyRoleChange
properties:
welcomeEmail:
type: boolean
description: Whether to send a welcome email to new users.
x-order: 1
notifyRoleChange:
type: boolean
description: Whether to notify the user of role changes.
x-order: 2
schedule_Schedule:
type: object
description: |
A schedule defines a recurring cron-based trigger for performance tests or other automated tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
schedule_SchedulePage:
type: object
description: A paginated list of schedules.
required:
- page
- page_size
- total_count
- schedules
properties:
page:
type: integer
description: Current page number (zero-based).
x-order: 1
minimum: 0
page_size:
type: integer
description: Number of schedules per page.
x-order: 2
minimum: 1
total_count:
type: integer
description: Total number of schedules across all pages.
x-order: 3
minimum: 0
schedules:
type: array
items:
type: object
description: |
A schedule defines a recurring cron-based trigger for performance tests or other automated tasks.
required:
- name
- user_id
- cron_expression
properties:
id:
description: Unique identifier for the schedule.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Human-readable name for the schedule.
x-order: 2
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
user_id:
description: UUID of the user who owns this schedule.
x-order: 3
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
cron_expression:
type: string
description: |
Cron expression defining the schedule's recurrence (e.g. "0 0 * * *" for daily at midnight).
x-order: 4
x-oapi-codegen-extra-tags:
db: cron_expression
maxLength: 500
created_at:
x-order: 5
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 6
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 4
description: The schedules of the schedulepage.
SubCategory_API_SubCategoryDefinition:
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
Team_Team:
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions,
whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at
https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Team_TeamPayload:
type: object
description: Payload for creating a new team
required:
- name
properties:
name:
description: Team name. Provide a meaningful name that represents this team.
type: string
x-go-type-skip-optional-pointer: true
description:
description: A detailed description of the team's purpose and responsibilities.
type: string
x-go-type-skip-optional-pointer: true
Team_TeamUpdatePayload:
type: object
description: Payload for updating an existing team
properties:
name:
description: Updated team name
type: string
x-go-type-skip-optional-pointer: true
description:
description: Updated team description
type: string
x-go-type-skip-optional-pointer: true
Team_TeamPage:
type: object
description: Paginated list of teams
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
teams:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: Team
$id: https://schemas.meshery.io/team.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning
permissions, whether in the context of an organization, a workspace, or some other domain within Meshery.
Learn more at https://docs.meshery.io/concepts/logical/teams
additionalProperties: false
type: object
required:
- id
- name
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 4
description: User ID of the owner of the team
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 8
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The teams of the teampage.
Team_TeamsUsersMapping:
type: object
description: Mapping between teams and users
properties:
id:
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
user_id:
x-oapi-codegen-extra-tags:
db: user_id
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Team_TeamsUsersMappingPage:
type: object
description: Paginated list of team-user mappings
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
teamsUsersMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: TeamsUsersMapping
type: object
description: Mapping between teams and users
properties:
id:
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
user_id:
x-oapi-codegen-extra-tags:
db: user_id
type: string
description: user's email or username
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The teams users mapping of the teamsusersmappingpage.
Team_TeamMember:
type: object
additionalProperties: true
Team_TeamMembersPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the teammemberspage.
User_User:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
User_UsersPageForAdmin:
type: object
description: Paginated list of users with organization and team role context
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
description: The data of the userspageforadmin.
User_UsersPageForNonAdmin:
type: object
description: Paginated list of public user records
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user in Layer5 Cloud (Meshery)
required:
- id
- user_id
- provider
- email
- first_name
- last_name
- status
- created_at
- updated_at
- last_login_time
- deleted_at
properties:
id:
description: Unique identifier for the user
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Layer5 Cloud, Twitter, Facebook, Github)
example:
- local
- github
- google
- twitter
x-oapi-codegen-extra-tags:
db: provider
json: provider
email:
type: string
format: email
maxLength: 300
description: User's email address
x-oapi-codegen-extra-tags:
db: email
json: email
first_name:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: first_name
last_name:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: last_name
avatar_url:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatar_url
status:
type: string
maxLength: 100
enum:
- active
- inactive
- pending
- anonymous
description: User account status
x-oapi-codegen-extra-tags:
db: status
json: status
bio:
type: string
maxLength: 1000
default: ''
description: User's biography or description
x-oapi-codegen-extra-tags:
db: bio
json: bio
country:
type: object
description: User's country information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: object
description: User's region information stored as JSONB
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: region
json: region
preferences:
x-go-type: Preference
description: User preferences stored as JSONB
x-oapi-codegen-extra-tags:
db: preferences
json: preferences
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
accepted_terms_at:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: accepted_terms_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
first_login_time:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: first_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
last_login_time:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: last_login_time
type: string
format: date-time
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
socials:
type: array
description: Various online profiles associated with the user account
x-go-type: UserSocials
items:
x-go-type: Social
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
x-oapi-codegen-extra-tags:
db: socials
json: socials
deleted_at:
type: string
format: date-time
nullable: true
description: Timestamp when the user record was soft-deleted (null if not deleted)
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
role_names:
type: array
items:
type: string
enum:
- admin
- meshmap
- curator
- team admin
- workspace admin
- workspace manager
- organization admin
- user
description: List of global roles assigned to the user
example:
- admin
- meshmap
x-oapi-codegen-extra-tags:
db: role_names
json: role_names
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teams_with_roles:
type: array
description: Team memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: teams_with_roles
json: teams_with_roles
total_count:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizations_with_roles:
type: array
description: Organization memberships for the user with their assigned roles.
items:
type: object
x-oapi-codegen-extra-tags:
db: organizations_with_roles
json: organizations_with_roles
total_count:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: total_count
additionalProperties: false
description: The data of the userspagefornonadmin.
User_Preference:
x-generate-db-helpers: true
type: object
required:
- anonymousUsageStats
- anonymousPerfResults
- updated_at
- dashboardPreferences
- selectedOrganizationId
- selectedWorkspaceForOrganizations
- usersExtensionPreferences
- remoteProviderPreferences
properties:
meshAdapters:
type: array
items:
x-go-type: Adapter
type: object
description: Placeholder for Adapter struct definition.
description: The mesh adapters of the preference.
grafana:
x-go-type: Grafana
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
prometheus:
x-go-type: Prometheus
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
loadTestPrefs:
x-go-type: LoadTestPreferences
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
anonymousUsageStats:
type: boolean
description: The anonymous usage stats of the preference.
anonymousPerfResults:
type: boolean
description: The anonymous perf results of the preference.
updated_at:
type: string
format: date-time
description: Timestamp of when the resource was last updated.
dashboardPreferences:
type: object
additionalProperties: true
description: The dashboard preferences of the preference.
selectedOrganizationId:
type: string
description: ID of the associated selectedOrganization.
maxLength: 500
format: uuid
selectedWorkspaceForOrganizations:
type: object
additionalProperties:
type: string
description: The selected workspace for organizations of the preference.
usersExtensionPreferences:
type: object
additionalProperties: true
description: The users extension preferences of the preference.
remoteProviderPreferences:
type: object
additionalProperties: true
description: The remote provider preferences of the preference.
User_Adapter:
type: object
description: Placeholder for Adapter struct definition.
User_Grafana:
type: object
properties:
grafanaURL:
type: string
description: Grafana URL for the user configuration.
maxLength: 500
grafanaAPIKey:
type: string
description: Grafana API key for the user configuration.
maxLength: 500
selectedBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: Selected Grafana board configurations for the user.
User_SelectedGrafanaConfig:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
User_GrafanaBoard:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
User_Panel:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
User_Prometheus:
type: object
properties:
prometheusURL:
type: string
description: The prometheus u r l of the prometheus.
maxLength: 500
selectedPrometheusBoardsConfigs:
type: array
items:
type: object
properties:
board:
type: object
description: Placeholder for GrafanaBoard definition (define fields as needed)
panels:
type: array
items:
type: object
description: Grafana panel structure imported from github.com/grafana-tools/sdk
description: Panels selected for the Grafana board configuration.
templateVars:
type: array
items:
type: string
description: Template variables applied to the selected Grafana board configuration.
description: The selected prometheus boards configs of the prometheus.
User_LoadTestPreferences:
type: object
properties:
c:
type: integer
description: Concurrent requests
minimum: 0
qps:
type: integer
description: Queries per second
minimum: 0
t:
type: string
description: Duration
maxLength: 500
gen:
type: string
description: Load generator
maxLength: 500
User_Social:
description: Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.
type: object
properties:
site:
type: string
maxLength: 50
description: The site of the social.
link:
type: string
format: uri
description: The link of the social.
required:
- site
- link
View_MesheryView:
$id: https://schemas.meshery.io/view.yaml
$schema: http://json-schema.org/draft-07/schema#
title: MesheryView
description: >-
A saved view with filters and metadata that defines a customized perspective of Meshery resources. Learn more at
https://docs.meshery.io/concepts/logical/views
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
name: My Kubernetes View
visibility: private
filters: {}
metadata: {}
user_id: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- name
- visibility
- user_id
- created_at
- updated_at
properties:
id:
description: Unique identifier for the view.
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-order: 2
x-oapi-codegen-extra-tags:
db: name
yaml: name
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-order: 3
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
yaml: visibility
filters:
type: object
description: Filter configuration that defines which resources this view displays.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 4
x-oapi-codegen-extra-tags:
db: filters
yaml: filters
metadata:
type: object
description: Additional metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-order: 5
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
user_id:
description: ID of the user who created the view.
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the view was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the view was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 8
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
nullable: true
x-go-type: core.NullTime
x-go-import: database/sql
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 9
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
View_MesheryViewWithLocation:
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
View_ViewPayload:
type: object
description: Payload for creating or updating a view.
required:
- name
properties:
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-oapi-codegen-extra-tags:
json: name,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: filters,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-oapi-codegen-extra-tags:
json: visibility,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
View_MesheryViewPage:
type: object
description: Paginated list of views with location enrichment.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
views:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: MesheryViewWithLocation
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Views in this page, enriched with workspace and organization context.
Workspace_Workspace:
$id: https://schemas.meshery.io/workspace.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
A workspace is a logical grouping of resources within an organization. Workspaces provide a way to organize
environments, designs, teams, and views. Learn more at https://docs.meshery.io/concepts/logical/workspaces
additionalProperties: false
type: object
required:
- id
- name
- organization_id
- created_at
- updated_at
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
organization_id:
description: Organization to which this workspace belongs.
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
description: User ID of the workspace owner.
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_AvailableWorkspace:
type: object
description: Workspace with resolved owner details, as returned in list and get responses.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
org_name:
type: string
description: Name of the owning organization.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: org_name
json: org_name,omitempty
owner:
type: string
description: Display name of the workspace owner.
maxLength: 255
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
owner_id:
description: User ID of the workspace owner.
x-go-name: OwnerId
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_email:
type: string
description: Email address of the workspace owner.
maxLength: 320
x-oapi-codegen-extra-tags:
db: owner_email
json: owner_email,omitempty
owner_avatar:
type: string
description: Avatar URL of the workspace owner.
maxLength: 2048
x-oapi-codegen-extra-tags:
db: owner_avatar
json: owner_avatar,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
organization_id:
type: string
format: uuid
description: Organization to which this workspace belongs.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationId
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_WorkspacePayload:
type: object
description: Payload for creating a workspace.
required:
- name
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
Workspace_WorkspaceUpdatePayload:
type: object
description: Payload for updating a workspace.
required:
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
Workspace_WorkspacePage:
type: object
description: Paginated list of workspaces.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspaces:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: AvailableWorkspace
type: object
description: Workspace with resolved owner details, as returned in list and get responses.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Name of the workspace.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: description
json: description,omitempty
org_name:
type: string
description: Name of the owning organization.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: org_name
json: org_name,omitempty
owner:
type: string
description: Display name of the workspace owner.
maxLength: 255
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
owner_id:
description: User ID of the workspace owner.
x-go-name: OwnerId
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_email:
type: string
description: Email address of the workspace owner.
maxLength: 320
x-oapi-codegen-extra-tags:
db: owner_email
json: owner_email,omitempty
owner_avatar:
type: string
description: Avatar URL of the workspace owner.
maxLength: 2048
x-oapi-codegen-extra-tags:
db: owner_avatar
json: owner_avatar,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
organization_id:
type: string
format: uuid
description: Organization to which this workspace belongs.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationId
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: List of workspaces with resolved owner details.
Workspace_WorkspacesTeamsMapping:
type: object
description: Junction record linking a workspace to a team.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_WorkspacesTeamsMappingPage:
type: object
description: Paginated list of workspace-team mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesTeamsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesTeamsMapping
type: object
description: Junction record linking a workspace to a team.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
team_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-team mapping entries.
Workspace_WorkspacesEnvironmentsMapping:
type: object
description: Junction record linking a workspace to an environment.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
environment_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_WorkspacesEnvironmentsMappingPage:
type: object
description: Paginated list of workspace-environment mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesEnvironmentsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesEnvironmentsMapping
type: object
description: Junction record linking a workspace to an environment.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
environment_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-environment mapping entries.
Workspace_WorkspacesDesignsMapping:
type: object
description: Junction record linking a workspace to a design.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
design_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_WorkspacesDesignsMappingPage:
type: object
description: Paginated list of workspace-design mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesDesignsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesDesignsMapping
type: object
description: Junction record linking a workspace to a design.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
design_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-design mapping entries.
Workspace_WorkspacesViewsMapping:
type: object
description: Junction record linking a workspace to a view.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
view_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
Workspace_WorkspacesViewsMappingPage:
type: object
description: Paginated list of workspace-view mappings.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
workspacesViewsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: WorkspacesViewsMapping
type: object
description: Junction record linking a workspace to a view.
additionalProperties: false
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
workspace_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
view_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
description: Workspace-view mapping entries.
Workspace_MesheryDesignPage:
type: object
description: Paginated list of designs.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
designs:
type: array
x-go-type-skip-optional-pointer: true
items:
type: object
properties:
catalogData:
x-go-type: catalogv1beta1.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/catalog
name: catalogv1beta1
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers. This
represents the highest level of support and is considered the most reliable. Content produced by
partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has
undergone a verification process to ensure quality and compatibility. Content produced and
supported by the respective project or organization responsible for the specific technology. This
class offers a level of support from the project maintainers themselves. Content produced and
shared by Meshery users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels of support
and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level
of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models
implicated by components within the design. For models, this is self-referential.
pattern_caveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
pattern_info:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- pattern_caveats
- pattern_info
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May
be manually set by a user or third-party system, but will always be required to be of version
number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationship_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
alias_component_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediate_ref_field_path:
type: array
items:
type: string
required:
- relationship_id
- alias_component_id
- immediate_parent_id
- immediate_ref_field_path
- type: object
properties:
resolved_parent_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolved_ref_field_path:
type: array
items:
type: string
required:
- resolved_parent_id
- resolved_ref_field_path
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models.
Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readible format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are
not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 7
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 9
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
categoryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field
is extensible. Entities may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 14
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 15
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
text-opacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
font-size:
type: string
description: The size of the label text.
font-style:
type: string
description: A CSS font style to be applied to the label text.
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
text-transform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is drawn
at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
x-go-type: float64
body-text:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will
label with the elements id
body-text-wrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
body-text-max-width:
type: string
description: The maximum width for wrapping text in the node.
body-text-opacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
body-text-background-color:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name
(e.g. red), hex (e.g.
body-text-font-size:
type: number
description: The size of the node's body text.
body-text-color:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red),
hex (e.g.
body-text-font-weight:
type: string
description: A CSS font weight to be applied to the node's body text.
body-text-horizontal-align:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
body-text-decoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
body-text-vertical-align:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
width:
type: number
description: The width of the node's body or the width of an edge's line.
height:
type: number
description: The height of the node's body
background-image:
type: string
description: The URL that points to the image to show in the node.
background-color:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red), hex
(e.g.
background-blacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
background-opacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
background-position-x:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-position-y:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-offset-x:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-offset-y:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
background-fit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
background-clip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
background-width-relative-to:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
background-height-relative-to:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
border-width:
type: number
description: The size of the node's border.
minimum: 0
border-style:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
border-color:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red),
hex (e.g.
border-opacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
text-halign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
text-valign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
active-bg-color:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex
(e.g.
active-bg-opacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
active-bg-size:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
selection-box-color:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
selection-box-border-width:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
selection-box-opacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outside-texture-bg-color:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may
be specified by name (e.g. red), hex (e.g.
outside-texture-bg-opacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shape-polygon-points:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box of
the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is
the origin (0, 0 )
menu-background-color:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
menu-background-opacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menu-forground-color:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
ComponentDefinitions may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: 'Configure Labels And Annotations for the component '
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned
the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes of
logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or clsuter wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry.
When the same 'published' property in Models, is set to 'false', the Model property
takes precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
data related to the third party capability that Component Defintion wraps , this is
herematicaly sealed an
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example:
A Kubernetes Pod is of kind 'Pod'.
x-order: 2
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
required:
- version
- kind
- schema
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
x-order: 14
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
x-order: 15
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery.
The combination of relationship properties kind, type, and subtype characterize various
genealogical relations among and between components. Relationships have selectors, selector
sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: Relationship_Metadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
yaml: description
json: description
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
yaml: styles
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
yaml: secondaryColor,omitempty
json: secondaryColor,omitempty
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
yaml: svgComplete,omitempty
json: svgComplete,omitempty
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
x-oapi-codegen-extra-tags:
yaml: color,omitempty
json: color,omitempty
text-opacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
yaml: text-opacity,omitempty
json: text-opacity,omitempty
font-family:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
yaml: font-family,omitempty
json: font-family,omitempty
font-size:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
yaml: font-size,omitempty
json: font-size,omitempty
font-style:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
yaml: font-style,omitempty
json: font-style,omitempty
font-weight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
yaml: font-weight,omitempty
json: font-weight,omitempty
text-transform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
yaml: text-transform,omitempty
json: text-transform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
yaml: opacity,omitempty
json: opacity,omitempty
z-index:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
yaml: z-index,omitempty
json: z-index,omitempty
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
yaml: label,omitempty
json: label,omitempty
edge-animation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
yaml: edge-animation,omitempty
json: edge-animation,omitempty
curve-style:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
yaml: curve-style,omitempty
json: curve-style,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier
(bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled
lines, hierarchically bundled). Note that haystack edges work best with ellipse,
rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are unsupported for
haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
line-color:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
yaml: line-color,omitempty
json: line-color,omitempty
line-style:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
yaml: line-style,omitempty
json: line-style,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
line-cap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
yaml: line-cap,omitempty
json: line-cap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The
cap may or may not be visible, depending on the shape of the node and the
relative size of the node and edge. Caps other than butt extend beyond the
specified endpoint of the edge.
enum:
- butt
- round
- square
line-opacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of
the edge element affects the effective opacity of its line and label
subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
yaml: line-opacity,omitempty
json: line-opacity,omitempty
target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
yaml: target-arrow-color,omitempty
json: target-arrow-color,omitempty
target-arrow-shape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
yaml: target-arrow-shape,omitempty
json: target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
target-arrow-fill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
yaml: target-arrow-fill,omitempty
json: target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
mid-target-arrow-color:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-color,omitempty
json: mid-target-arrow-color,omitempty
mid-target-arrow-shape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-shape,omitempty
json: mid-target-arrow-shape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
mid-target-arrow-fill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
yaml: mid-target-arrow-fill,omitempty
json: mid-target-arrow-fill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrow-scale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
yaml: arrow-scale,omitempty
json: arrow-scale,omitempty
source-label:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
yaml: source-label,omitempty
json: source-label,omitempty
target-label:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
yaml: target-label,omitempty
json: target-label,omitempty
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
modelId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is to
be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility in
defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is
applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: allow
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
yaml: deny,omitempty
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: from
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
yaml: match,omitempty
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: refs,omitempty
json: refs,omitempty
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: from,omitempty
json: from,omitempty
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
yaml: id
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
yaml: to,omitempty
json: to,omitempty
match_strategy_matrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
yaml: match_strategy_matrix
json: match_strategy_matrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinition_Selectors_Patch
x-oapi-codegen-extra-tags:
yaml: patch
json: patch
type: object
description: Patch configuration for the selector
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
yaml: patchStrategy,omitempty
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
replace: Replaces a value.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
yaml: mutatorRef,omitempty
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
yaml: mutatedRef,omitempty
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
yaml: to
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: Designs in this page.
Workspace_MesheryView:
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
Workspace_MesheryViewPage:
type: object
description: Paginated list of views with location enrichment.
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
views:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: MesheryViewWithLocation
type: object
description: A view enriched with the workspace and organization it belongs to.
required:
- workspace_id
- organization_id
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
type: string
description: Display name of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: visibility
json: visibility,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: filters
json: filters,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata,omitempty
user_id:
type: string
format: uuid
description: ID of the user who created the view.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: user_id
json: user_id,omitempty
workspace_name:
type: string
description: Name of the workspace this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_name
json: workspace_name,omitempty
workspace_id:
type: string
format: uuid
description: ID of the workspace this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
organization_id:
type: string
format: uuid
description: ID of the organization this view belongs to.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: OrganizationID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_id
json: organization_id
organization_name:
type: string
description: Name of the organization this view belongs to.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: organization_name
json: organization_name,omitempty
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the view was soft deleted. Null while the view remains active.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Views in this page, enriched with workspace and organization context.
Academy_API_AcademyCurriculaOrgId:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
Academy_API_AcademyCurriculaBadgeId:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the badge to be awarded on completion of this curricula
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
Academy_API_AcademyCurriculaInviteId:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
Academy_API_AcademyCurriculaWorkspaceId:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
Academy_API_AcademyCurriculaCreatedAt:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
Academy_API_AcademyCurriculaUpdatedAt:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
Academy_API_AcademyCurriculaDeletedAt:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
Academy_API_AcademyCurriculaMetadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not specified,
items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
Academy_API_AcademyCurriculaAccessExpiresAt:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Expiry time for curricula access
x-go-type: '*time.Time'
x-oapi-codegen-extra-tags:
json: access_expires_at
db: access_expires_at
Academy_API_RegisterToAcademyContentRequest:
type: object
required:
- contentId
- user_id
properties:
contentId:
type: string
description: ID of the academy content to register for
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: ID of the user registering for the content.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
Academy_API_ContentType:
type: string
enum:
- learning-path
- challenge
- certification
Academy_API_Visibility:
type: string
enum:
- public
- private
Academy_API_Level:
type: string
enum:
- beginner
- intermediate
- advanced
Academy_API_Status:
type: string
enum:
- ready
- archived
- not_ready
Academy_API_AcademyCurricula:
type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL
and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the _index.md
file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
Academy_API_SingleAcademyCurriculaResponse:
type: object
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible
URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in;
not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
invitation:
x-go-type: invitationv1beta2.Invitation
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
owner_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to assign
users when signing up from fqdn or custom domain, a organization can only have one default
invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means
the invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation
does not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the
invitation has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means the
invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled
means the invitation is no longer valid and is temporarily inactive, disabled invitations can be
re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
Academy_API_CreateAcademyCurriculaRequest:
type: object
properties:
type:
description: Type of the curricula
x-go-name: Type
x-go-type: ContentType
x-oapi-codegen-extra-tags:
json: type
type: string
enum:
- learning-path
- challenge
- certification
title:
type: string
description: Title of the curricula
example: Introduction to Kubernetes
x-go-name: Title
x-oapi-codegen-extra-tags:
json: title
maxLength: 500
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
team_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: TeamId
x-oapi-codegen-extra-tags:
json: team_id
db: team_id
access_expires_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: Expiry time for curricula access
x-go-type: '*time.Time'
x-oapi-codegen-extra-tags:
json: access_expires_at
db: access_expires_at
access_status:
description: Current access status of the curricula
x-go-name: AccessStatus
x-go-type: invitationv1beta2.InvitationStatus
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/invitation
name: invitationv1beta2
x-oapi-codegen-extra-tags:
json: access_status
db: access_status
type: string
enum:
- enabled
- disabled
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL
and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the _index.md
file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
required:
- type
- title
- org_id
- workspace_id
- team_id
- access_status
- metadata
Academy_API_AcademyCurriculaWithMetrics:
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible
URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in;
not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
Academy_API_AcademyCurriculaListResponse:
type: object
properties:
total:
type: integer
description: Total number of Curricula
example: 7
minimum: 0
data:
type: array
items:
x-go-type: AcademyCurricula
type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the _index.md
file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible
URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in;
not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not
specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
description: The data of the academycurriculalistresponse.
required:
- total
- data
Academy_API_AcademyCurriculaWithMetricsListResponse:
type: object
properties:
total:
type: integer
description: Total number of Curricula
example: 7
minimum: 0
data:
type: array
items:
x-go-type: AcademyCurriculaWithMetrics
x-go-type-skip-optional-pointer: true
allOf:
- type: object
additionalProperties: false
description: AcademyCurricula entity schema.
required:
- id
- type
- org_id
- visibility
- status
- slug
- created_at
- updated_at
- deleted_at
- metadata
- level
properties:
id:
type: string
description: Id of the Curricula
example: 923458-3490394-934893
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
type:
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: type
type: string
enum:
- learning-path
- challenge
- certification
org_id:
type: string
description: Organization ID that owns this learning path
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
visibility:
description: Visibility of the Curricula
x-go-type: Visibility
x-oapi-codegen-extra-tags:
db: visibility
json: visibility
type: string
enum:
- public
- private
status:
example: ready
description: Status of the Curricula
x-go-type: Status
x-oapi-codegen-extra-tags:
db: status
json: status
type: string
enum:
- ready
- archived
- not_ready
slug:
type: string
description: slug of the Curricula
example: intro-kubernetes-course
maxLength: 500
level:
description: Level of the Curricula
x-go-type: Level
x-oapi-codegen-extra-tags:
db: level
json: level
type: string
enum:
- beginner
- intermediate
- advanced
badge_id:
type: string
format: uuid
description: ID of the badge to be awarded on completion of this curricula
x-go-type: core.Uuid
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: badge_id
json: badge_id
invite_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the invite associated with this Curricula
x-oapi-codegen-extra-tags:
db: invite_id
json: invite_id
workspace_id:
allOf:
- type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: ID of the workspace to which this Curricula belongs
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
created_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula item was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
allOf:
- type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the Curricula was last updated
x-go-type: core.Time
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
allOf:
- description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
x-go-type: core.NullTime
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
metadata:
type: object
description: Additional metadata about the Curricula
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
oneOf:
- x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment
strategies, including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly
accessible URL and transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and
expires_in; not specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: >-
http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If
not specified, items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: >-
Filename of the banner image, which should be placed in the same directory as the
_index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
- type: object
required:
- registration_count
properties:
registration_count:
type: number
description: Number of registrations associated with this curriculum.
minimum: 0
x-oapi-codegen-extra-tags:
db: registration_count,omitempty
json: registration_count,omitempty
description: The data of the academycurriculawithmetricslistresponse.
required:
- total
- data
Academy_API_ChallengeMetadata:
x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified
by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not specified,
items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
Academy_API_LearningPathMetadata:
x-go-type: CurriculaMetadata
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified
by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not specified,
items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
Academy_API_CertificateIssuingAuthority:
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and transparent PNG
or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
Academy_API_Certificate:
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified by
instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
Academy_API_CurriculaMetadata:
type: object
properties:
title:
type: string
description: Title of the learning path
example: Mastering Kubernetes for Engineers
maxLength: 500
description:
type: string
description: Short description of the curricula
example: Learn how to configure your Kubernetes clusters and manage the lifecycle of your workloads
maxLength: 5000
detailedDescription:
type: string
description: Detailed description of the curricula
example: >-
This learning path covers everything from Kubernetes architecture to advanced deployment strategies,
including hands-on labs and real-world scenarios.
maxLength: 500
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
permalink:
type: string
format: uri
description: Canonical URL for the learning path
example: http://localhost:9876/academy/learning-paths/layer5/mastering-kubernetes-for-engineers/
certificate:
x-go-type: Certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified
by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
children:
type: array
description: List of children items in the top-level curricula
items:
x-go-type: ChildNode
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not specified,
items will be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
required:
- title
- description
- permalink
Academy_API_AcademyRegistrationStatus:
type: string
enum:
- registered
- completed
- failed
- withdrawn
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
Academy_API_AcademyRegistration:
type: object
required:
- id
- org_id
- user_id
- status
- created_at
- updated_at
- content_id
- certificate
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
content_id:
type: string
description: ID of the course content
x-oapi-codegen-extra-tags:
db: content_id
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
status:
x-go-type: AcademyRegistrationStatus
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was updated
x-oapi-codegen-extra-tags:
db: updated_at
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
certificate:
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
description: Issued certificate for completing the curricula under registration
x-oapi-codegen-extra-tags:
db: certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not specified
by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
metadata:
type: object
description: Additional metadata about the registration
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
Academy_API_AllTestSubmissionsForCurricula:
type: object
description: Test submissions made by the user (map of test IDs to Submissions)
additionalProperties:
type: array
description: Test submissions made by the user (array of QuizEvaluationResult)
items:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
x-go-type: TestSubmissions
Academy_API_TestSubmissions:
type: array
description: Test submissions made by the user (array of QuizEvaluationResult)
items:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section
eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
Academy_API_ChildNode:
type: object
properties:
id:
type: string
description: Unique identifier for the course
example: 550e8400-e29b-41d4-a716-446655440002
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
maxLength: 500
format: uuid
title:
type: string
description: Title of the course
example: Kubernetes Basics
maxLength: 500
permalink:
type: string
format: uri
description: URL to the course content
example: http://localhost:9876/academy/learning-paths/layer5/intro-kubernetes-course/kubernetes/
description:
type: string
description: Course description
example: Learn the basics of Kubernetes
maxLength: 5000
weight:
type: number
description: >-
A numeric value to determine the display order. A smaller number appears first. If not specified, items will
be sorted alphabetically by title.
example: eg 1 , 2
minimum: 0
banner:
type: string
format: uri
nullable: true
description: Filename of the banner image, which should be placed in the same directory as the _index.md file
example: kubernetes-icon.svg
type:
x-go-type: ContentType
description: Type of the content (e.g., learning-path, challenge, certification)
type: string
enum:
- learning-path
- challenge
- certification
children:
type: array
description: List of child nodes (sub-courses or modules)
items:
type: object
x-go-type: ChildNode
required:
- title
- description
- id
- permalink
Academy_API_AcademyRegistrationsListResponse:
type: object
properties:
total:
type: integer
description: Total number of learning paths
example: 7
minimum: 0
data:
type: array
items:
type: object
required:
- id
- org_id
- user_id
- status
- created_at
- updated_at
- content_id
- certificate
- metadata
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
org_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
content_id:
type: string
description: ID of the course content
x-oapi-codegen-extra-tags:
db: content_id
maxLength: 500
format: uuid
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
status:
x-go-type: AcademyRegistrationStatus
description: Status of the user's course registration
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was updated
x-oapi-codegen-extra-tags:
db: updated_at
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
certificate:
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
description: Issued certificate for completing the curricula under registration
x-oapi-codegen-extra-tags:
db: certificate
type: object
required:
- id
- orgId
- title
- description
- issuingAuthorities
- issuedDate
- recipientId
- recipientName
properties:
id:
type: string
description: Unique identifier for the certificate
example: 550e8400-e29b-41d4-a716-446655440000
x-go-name: ID
maxLength: 500
format: uuid
orgId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
recipientId:
type: string
description: ID of the recipient (user) who received the certificate
example: 550e8400-e29b-41d4-a716-446655440001
maxLength: 500
format: uuid
recipientName:
type: string
description: Name of the recipient (user) who received the certificate
example: John Doe
maxLength: 500
title:
type: string
description: Title of the certificate
example: Kubernetes Expert Certification
maxLength: 500
description:
type: string
description: Description of the certificate
example: Awarded for successfully completing the Kubernetes Expert course
maxLength: 5000
issuingAuthorities:
type: array
items:
x-go-type: CertificateIssuingAuthority
type: object
required:
- name
- url
properties:
name:
type: string
description: Name of the issuing authority
example: Cloud Native Foundation
minLength: 1
maxLength: 255
role:
type: string
description: Role of the issuing authority
example: COO
maxLength: 500
signatureUrl:
type: string
format: uri
description: >-
URL to the signature image of the issuing authority should be a publicly accessible URL and
transparent PNG or SVG format
example: http://localhost:9876/signatures/cloud-native-foundation.png
description: List of issuing authorities for the certificate
issuedDate:
type: string
format: date-time
description: Date when the certificate was issued
example: '2023-10-01 12:00:00+00:00'
expirationDate:
type: string
format: date-time
description: >-
Date when the certificate expires. Dynamically calculated from issued_date and expires_in; not
specified by instructors.
example: '2025-10-01 12:00:00+00:00'
expiresIn:
type: integer
description: Number of months after which the certificate expires
example: 24
minimum: 0
metadata:
type: object
description: Additional metadata about the registration
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
x-go-type: AcademyRegistration
description: The data of the academyregistrationslistresponse.
required:
- total
- data
Academy_API_CurriculaCurrentItemData:
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
Academy_API_CurriculaProgressTracker:
type: object
required:
- currentItem
- grades
- timeSpent
- completed
- completedItems
properties:
currentItem:
type: object
additionalProperties:
x-go-type: CurriculaCurrentItemData
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
description: The current item of the curriculaprogresstracker.
grades:
type: object
additionalProperties:
x-go-type: QuizEvaluationResult
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
description: The grades of the curriculaprogresstracker.
timeSpent:
type: integer
description: Total time spent in seconds
minimum: 0
completedItems:
type: object
description: Items that have been completed (map of item IDs to item data)
additionalProperties:
x-go-type: ProgressItemCompleted
type: object
required:
- completedAt
- itemData
properties:
completedAt:
type: string
format: date-time
description: Timestamp when the item was completed
itemData:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
completed:
type: string
format: date-time
x-go-type: core.NullTime
description: The completed of the curriculaprogresstracker.
Academy_API_ProgressItemCompleted:
type: object
required:
- completedAt
- itemData
properties:
completedAt:
type: string
format: date-time
description: Timestamp when the item was completed
itemData:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
Academy_API_UpdateCurrentItemRequest:
type: object
properties:
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
itemData:
x-go-type: CurriculaCurrentItemData
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
required:
- contentType
- itemData
Academy_API_ErrorResponse:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
details:
type: string
description: The details of the errorresponse.
maxLength: 500
Academy_API_Quiz:
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg
course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
Academy_API_Parent:
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
Academy_API_QuestionType:
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
Academy_API_Question:
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
Academy_API_QuestionOption:
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
Academy_API_StartTestRequest:
type: object
required:
- testAbsPath
- registrationId
properties:
testAbsPath:
type: string
description: The test abs path of the starttestrequest.
maxLength: 500
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
Academy_API_QuizSubmission:
type: object
required:
- quizAbsPath
- registrationId
- testSessionId
- user_id
- answers
properties:
testSessionId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
quizAbsPath:
type: string
description: The quiz abs path of the quizsubmission.
maxLength: 500
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
user_id:
type: string
description: ID of the user who owns or created this resource.
maxLength: 500
format: uuid
answers:
type: array
items:
x-go-type: SubmittedAnswer
type: object
required:
- questionId
- selectedOptionId
- answerText
properties:
questionId:
type: string
description: ID of the associated question.
maxLength: 500
format: uuid
selectedOptionId:
type: object
additionalProperties:
type: boolean
description: Map of selected option IDs to a boolean value indicating if it was selected.
answerText:
type: string
description: The answer text of the submittedanswer.
maxLength: 500
description: The answers of the quizsubmission.
Academy_API_SubmittedAnswer:
type: object
required:
- questionId
- selectedOptionId
- answerText
properties:
questionId:
type: string
description: ID of the associated question.
maxLength: 500
format: uuid
selectedOptionId:
type: object
additionalProperties:
type: boolean
description: Map of selected option IDs to a boolean value indicating if it was selected.
answerText:
type: string
description: The answer text of the submittedanswer.
maxLength: 500
Academy_API_TestSubmissionStatus:
type: string
enum:
- not-attempted
- failed
- passed
x-enum-varnames:
- TestSubmissionStatusNotAttempted
- TestSubmissionStatusFailed
- TestSubmissionStatusPassed
Academy_API_TestSubmission:
type: object
required:
- id
- registration_id
- test_abs_path
- user_id
- created_at
- status
- test
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
json: id
registration_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: registration_id
json: registration_id
test_abs_path:
type: string
x-oapi-codegen-extra-tags:
db: test_abs_path
description: The test abs path of the testsubmission.
maxLength: 500
user_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
created_at:
description: When the submission was created or started
type: string
format: date-time
x-oapi-codegen-extra-tags:
db: created_at
updated_at:
description: When the submission was last updated
type: string
format: date-time
x-oapi-codegen-extra-tags:
db: updated_at
deleted_at:
description: Timestamp when the resource was deleted.
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type-skip-optional-pointer: true
submitted_at:
type: string
format: date-time
x-oapi-codegen-extra-tags:
db: submitted_at
description: The submitted at of the testsubmission.
submission_data:
type: object
required:
- quizAbsPath
- registrationId
- testSessionId
- user_id
- answers
properties:
testSessionId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
quizAbsPath:
type: string
description: The quiz abs path of the quizsubmission.
maxLength: 500
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
user_id:
type: string
description: ID of the user who owns or created this resource.
maxLength: 500
format: uuid
answers:
type: array
items:
x-go-type: SubmittedAnswer
type: object
required:
- questionId
- selectedOptionId
- answerText
properties:
questionId:
type: string
description: ID of the associated question.
maxLength: 500
format: uuid
selectedOptionId:
type: object
additionalProperties:
type: boolean
description: Map of selected option IDs to a boolean value indicating if it was selected.
answerText:
type: string
description: The answer text of the submittedanswer.
maxLength: 500
description: The answers of the quizsubmission.
x-go-type: QuizSubmission
x-oapi-codegen-extra-tags:
db: submission_data
expires_at:
type: string
description: Expiry time for the test submission ( based on the time limit of the test )
format: date-time
x-oapi-codegen-extra-tags:
db: expires_at
status:
x-go-type: TestSubmissionStatus
type: string
enum:
- not-attempted
- failed
- passed
x-enum-varnames:
- TestSubmissionStatusNotAttempted
- TestSubmissionStatusFailed
- TestSubmissionStatusPassed
result:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
x-go-type: QuizEvaluationResult
x-oapi-codegen-extra-tags:
db: result
test:
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg
course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
x-go-type: Quiz
Academy_API_QuizEvaluationResult:
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent section eg
course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
Academy_API_UserRegistration:
type: object
required:
- curricula_title
- curricula_type
- curricula_permalink
- registration_id
- status
- user_id
- user_email
- user_last_name
- user_first_name
- user_avatar_url
- total_count
properties:
curricula_title:
type: string
description: Title of the curricula
x-oapi-codegen-extra-tags:
db: curricula_title
maxLength: 500
curricula_type:
type: string
enum:
- learning-path
- challenge
- certification
description: Type of the curricula
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: curricula_type
curricula_permalink:
type: string
description: Permalink of the curricula
x-oapi-codegen-extra-tags:
db: curricula_permalink
maxLength: 500
registration_id:
type: string
format: uuid
description: Unique ID of the registration
x-oapi-codegen-extra-tags:
db: registration_id
status:
description: Registration status
x-go-type: AcademyRegistrationStatus
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
created_at:
type: string
format: date-time
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
user_id:
type: string
format: uuid
description: ID of the user
x-oapi-codegen-extra-tags:
db: user_id
user_first_name:
type: string
description: First name of the user
x-oapi-codegen-extra-tags:
db: user_first_name
maxLength: 500
user_last_name:
type: string
description: Last name of the user
x-oapi-codegen-extra-tags:
db: user_last_name
maxLength: 500
user_email:
type: string
format: email
description: Email of the user
x-oapi-codegen-extra-tags:
db: user_email
user_avatar_url:
type: string
format: uri
description: Avatar URL of the user
x-oapi-codegen-extra-tags:
db: user_avatar_url
total_count:
type: integer
format: int64
description: Total count for pagination
x-oapi-codegen-extra-tags:
db: total_count
minimum: 0
Academy_API_CurriculaRegistrationsFilter:
type: object
required:
- pagesize
- page
- contentType
- status
properties:
pagesize:
type: integer
description: The pagesize of the curricularegistrationsfilter.
minimum: 1
page:
type: integer
description: Current page number of the result set.
minimum: 0
contentType:
type: array
items:
type: string
description: The content type of the curricularegistrationsfilter.
status:
type: array
items:
type: string
description: Current status of the resource.
Academy_API_CurriculaRegistrationsResponse:
type: object
required:
- data
- total_count
- page_size
- page
properties:
data:
type: array
items:
x-go-type: UserRegistration
type: object
required:
- curricula_title
- curricula_type
- curricula_permalink
- registration_id
- status
- user_id
- user_email
- user_last_name
- user_first_name
- user_avatar_url
- total_count
properties:
curricula_title:
type: string
description: Title of the curricula
x-oapi-codegen-extra-tags:
db: curricula_title
maxLength: 500
curricula_type:
type: string
enum:
- learning-path
- challenge
- certification
description: Type of the curricula
x-go-type: ContentType
x-oapi-codegen-extra-tags:
db: curricula_type
curricula_permalink:
type: string
description: Permalink of the curricula
x-oapi-codegen-extra-tags:
db: curricula_permalink
maxLength: 500
registration_id:
type: string
format: uuid
description: Unique ID of the registration
x-oapi-codegen-extra-tags:
db: registration_id
status:
description: Registration status
x-go-type: AcademyRegistrationStatus
x-oapi-codegen-extra-tags:
db: status
type: string
enum:
- registered
- completed
- failed
- withdrawn
created_at:
type: string
format: date-time
description: When the registration was created
x-oapi-codegen-extra-tags:
db: created_at
user_id:
type: string
format: uuid
description: ID of the user
x-oapi-codegen-extra-tags:
db: user_id
user_first_name:
type: string
description: First name of the user
x-oapi-codegen-extra-tags:
db: user_first_name
maxLength: 500
user_last_name:
type: string
description: Last name of the user
x-oapi-codegen-extra-tags:
db: user_last_name
maxLength: 500
user_email:
type: string
format: email
description: Email of the user
x-oapi-codegen-extra-tags:
db: user_email
user_avatar_url:
type: string
format: uri
description: Avatar URL of the user
x-oapi-codegen-extra-tags:
db: user_avatar_url
total_count:
type: integer
format: int64
description: Total count for pagination
x-oapi-codegen-extra-tags:
db: total_count
minimum: 0
description: The data of the curricularegistrationsresponse.
total_count:
type: integer
format: int64
description: Total number of items available.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
page:
type: integer
description: Current page number of the result set.
minimum: 0
Academy_API_UpdateCurrentItemProgressResponse:
type: object
properties:
message:
type: string
description: The message of the updatecurrentitemprogressresponse.
maxLength: 500
progressTracker:
type: object
required:
- currentItem
- grades
- timeSpent
- completed
- completedItems
properties:
currentItem:
type: object
additionalProperties:
x-go-type: CurriculaCurrentItemData
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
description: The current item of the curriculaprogresstracker.
grades:
type: object
additionalProperties:
x-go-type: QuizEvaluationResult
type: object
required:
- score
- passed
- totalMarks
- passPercentage
- quiz
- attemptedAt
- attempts
- percentageScored
- correctSubmissions
properties:
score:
type: integer
description: The score of the quizevaluationresult.
minimum: 0
passed:
type: boolean
description: The passed of the quizevaluationresult.
percentageScored:
type: number
format: float
description: The percentage scored of the quizevaluationresult.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quizevaluationresult.
minimum: 0
passPercentage:
type: number
format: float
description: The pass percentage of the quizevaluationresult.
minimum: 0
correctSubmissions:
type: object
additionalProperties:
type: boolean
description: The correct submissions of the quizevaluationresult.
quiz:
x-go-type: Quiz
x-generate-db-helpers: true
type: object
required:
- id
- title
- org_id
- description
- slug
- relPermalink
- permalink
- type
- section
- layout
- date
- final
- lastmod
- draft
- filePath
- passPercentage
- timeLimit
- maxAttempts
- questions
- totalQuestions
- totalQuestionsInBank
- totalQuestionSets
- totalMarks
- prerequisites
- nextPage
properties:
id:
type: string
x-go-name: ID
x-oapi-codegen-extra-tags:
json: id
description: Quiz ID.
maxLength: 500
format: uuid
org_id:
type: string
description: Organization ID that owns this quiz
example: layer5
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
final:
type: boolean
description: >-
Indicates if the quiz is final . i.e this quiz will used to evaluate the completion of parent
section eg course , module , learning path
example: true
title:
type: string
description: The title of the quiz.
maxLength: 500
description:
type: string
description: Description of the quiz.
maxLength: 5000
slug:
type: string
description: The slug of the quiz.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the quiz.
maxLength: 500
permalink:
type: string
description: The permalink of the quiz.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
section:
type: string
description: The section of the quiz.
maxLength: 500
layout:
type: string
description: The layout of the quiz.
maxLength: 500
date:
type: string
format: date
description: The date of the quiz.
lastmod:
type: string
format: date
description: The lastmod of the quiz.
draft:
type: boolean
description: The draft of the quiz.
filePath:
type: string
description: The file path of the quiz.
maxLength: 500
passPercentage:
type: number
format: float
description: The pass percentage of the quiz.
minimum: 0
timeLimit:
description: Time limit for the quiz in minutes. A value of 0 indicates no time limit.
type: integer
minimum: 0
maxAttempts:
description: Maximum number of attempts allowed for the quiz. A value of 0 indicates unlimited attempts.
type: integer
minimum: 0
questions:
type: array
items:
x-go-type: Question
type: object
required:
- id
- text
- type
- marks
- options
- correctAnswer
properties:
id:
type: string
description: Question ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the question.
maxLength: 500
type:
x-go-type: QuestionType
type: string
x-enum-varnames:
- QuestionTypeMultipleAnswers
- QuestionTypeSingleAnswer
- QuestionTypeShortAnswer
- QuestionTypeEssay
enum:
- multiple-answers
- single-answer
- short-answer
- essay
marks:
type: integer
description: The marks of the question.
minimum: 0
multipleAnswers:
type: boolean
description: The multiple answers of the question.
options:
type: array
items:
x-go-type: QuestionOption
type: object
required:
- id
- text
- isCorrect
properties:
id:
type: string
description: QuestionOption ID.
maxLength: 500
format: uuid
text:
type: string
description: The text of the questionoption.
maxLength: 500
isCorrect:
type: boolean
description: The is correct of the questionoption.
description: The options of the question.
correctAnswer:
type: string
description: The correct answer of the question.
maxLength: 500
description: The questions of the quiz.
totalQuestions:
type: integer
description: The total questions of the quiz.
minimum: 0
totalQuestionsInBank:
type: integer
description: The total questions in bank of the quiz.
minimum: 0
totalQuestionSets:
type: integer
description: The total question sets of the quiz.
minimum: 0
totalMarks:
type: integer
description: The total marks of the quiz.
minimum: 0
prerequisites:
type: array
items:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
description: The prerequisites of the quiz.
parent:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
nextPage:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
attemptedAt:
type: string
format: date-time
description: The attempted at of the quizevaluationresult.
attempts:
type: integer
description: The attempts of the quizevaluationresult.
minimum: 0
description: The grades of the curriculaprogresstracker.
timeSpent:
type: integer
description: Total time spent in seconds
minimum: 0
completedItems:
type: object
description: Items that have been completed (map of item IDs to item data)
additionalProperties:
x-go-type: ProgressItemCompleted
type: object
required:
- completedAt
- itemData
properties:
completedAt:
type: string
format: date-time
description: Timestamp when the item was completed
itemData:
x-go-type: Parent
type: object
required:
- id
- title
- relPermalink
- type
properties:
id:
type: string
description: Parent ID.
maxLength: 500
format: uuid
title:
type: string
description: The title of the parent.
maxLength: 500
relPermalink:
type: string
description: The rel permalink of the parent.
maxLength: 500
type:
type: string
description: Type of the resource.
maxLength: 255
completed:
type: string
format: date-time
x-go-type: core.NullTime
description: The completed of the curriculaprogresstracker.
registrationId:
type: string
description: ID of the associated registration.
maxLength: 500
format: uuid
contentType:
type: string
enum:
- learning-path
- challenge
- certification
itemData:
type: object
required:
- id
- lastOpened
- contentType
properties:
id:
type: string
description: CurriculaCurrentItemData ID.
maxLength: 500
format: uuid
lastOpened:
type: string
format: date-time
description: The last opened of the curriculacurrentitemdata.
contentType:
type: string
enum:
- learning-path
- challenge
- certification
x-go-type: ContentType
Component_ComponentDefinition:
$id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models. Learn more at
https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which model version,
category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: Model display name may include letters, numbers, and spaces. Special characters are not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the canonical
reference and that is duplicated by other components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry
are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly
identifies those capabilities largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad
array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log streaming
on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability for
a component to be dragged and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType
together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities or as logical
representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and height, and
so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height
for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed
(e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which model version,
category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being managed
(e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
description: Foreign key to the model to which the component belongs.
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent
affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element with a
higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under
nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with the
elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and height, and
so you may have to adjust width and height if you desire an equilateral shape (i.e. width !== height
for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that position in the given
dimensions. If the position is not set, the node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will label with the
elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user. Selector needs to be
*core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs to be *core*.
Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when initOptions.textureOnViewport === true.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing alternating x and
y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in the polygon for the node's
shape. The bounding box of the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's
position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field explicitly identifies
those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface,
and so on. This field is extensible. ComponentDefinitions may define a broad array of capabilities, which
are in-turn dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly identifies
those capabilities largely by what actions a given component supports; e.g. metric-scrape, sub-interface,
and so on. This field is extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log streaming on a
Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the configuration
of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability for a
component to be dragged and dropped. Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType together
uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect metrics, and present the
results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the canonical reference
and that is duplicated by other components should not be assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether the component
should be treated as deployable entity or is for purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry. When the same
'published' property in Models, is set to 'false', the Model property takes precedence with all Entities
in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined within the component
definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined within the component
definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this payload is treated as a
hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.'
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is
of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
Component_Component:
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this payload is treated as a
hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.'
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A Kubernetes Pod is of
kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
Connection_API_Connection:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are
tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials. Learn more
at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
Connection_API_ConnectionPage:
description: Represents a page of connections with meta information about connections count
additionalProperties: false
type: object
required:
- connections
- total_count
- page
- page_size
properties:
connections:
type: array
description: List of connections on this page
x-go-type: '[]*Connection'
items:
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are
tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- sub_type
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
credential_id:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credential_id
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
sub_type:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: sub_type
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated Credentials.
Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
x-order: 1
total_count:
type: integer
description: Total number of connections on all pages
x-order: 2
minimum: 0
page:
type: integer
description: Current page number
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of elements per page
x-order: 4
minimum: 1
statusSummary:
type: object
description: Aggregate count of connections grouped by status
additionalProperties:
type: integer
x-go-type: map[ConnectionStatusValue]int
x-oapi-codegen-extra-tags:
json: statusSummary,omitempty
x-order: 5
Connection_API_ConnectionStatusValue:
type: string
description: Connection Status Value
x-go-name: ConnectionStatusValue
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
Connection_API_ConnectionPayload:
type: object
description: Payload for creating or updating a connection
properties:
id:
type: string
format: uuid
description: Connection ID
x-go-name: ConnectionID
x-oapi-codegen-extra-tags:
json: id,omitempty
name:
type: string
description: Connection name
x-oapi-codegen-extra-tags:
json: name
minLength: 1
maxLength: 255
kind:
type: string
description: Connection kind
x-oapi-codegen-extra-tags:
json: kind
maxLength: 255
type:
type: string
description: Connection type
x-oapi-codegen-extra-tags:
json: type
maxLength: 255
subType:
type: string
description: Connection sub-type
x-oapi-codegen-extra-tags:
json: subType
maxLength: 255
credentialSecret:
type: object
description: Credential secret data
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: credentialSecret
metadata:
type: object
description: Connection metadata
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata
status:
type: string
description: Connection status
x-oapi-codegen-extra-tags:
json: status
maxLength: 255
credentialId:
type: string
format: uuid
description: Associated credential ID
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
json: credentialId,omitempty
required:
- name
- kind
- type
- subType
- status
Connection_API_ConnectionStatusInfo:
type: object
description: Status count information for connections
properties:
status:
type: string
description: Status value
x-oapi-codegen-extra-tags:
json: status
db: status
maxLength: 255
count:
type: integer
description: Number of connections with this status
x-oapi-codegen-extra-tags:
json: count
db: count
minimum: 0
required:
- status
- count
Connection_API_ConnectionsStatusPage:
type: object
description: Paginated list of connection status counts
properties:
total_count:
type: integer
description: Total number of status entries
x-oapi-codegen-extra-tags:
json: total_count
minimum: 0
page:
type: integer
description: Current page number
x-oapi-codegen-extra-tags:
json: page
minimum: 0
page_size:
type: integer
description: Number of items per page
x-oapi-codegen-extra-tags:
json: page_size
minimum: 1
connectionsStatus:
type: array
description: List of status counts
items:
type: object
description: Status count information for connections
properties:
status:
type: string
description: Status value
x-oapi-codegen-extra-tags:
json: status
db: status
maxLength: 255
count:
type: integer
description: Number of connections with this status
x-oapi-codegen-extra-tags:
json: count
db: count
minimum: 0
required:
- status
- count
x-oapi-codegen-extra-tags:
json: connectionsStatus
required:
- total_count
- page
- page_size
- connectionsStatus
Connection_API_MesheryInstance:
type: object
description: Meshery server instance information
properties:
id:
type: string
description: Instance ID
x-oapi-codegen-extra-tags:
json: id,omitempty
db: id
maxLength: 500
format: uuid
name:
type: string
description: Instance name
x-oapi-codegen-extra-tags:
json: name,omitempty
db: name
minLength: 1
maxLength: 255
server_id:
type: string
description: Server ID
x-go-name: ServerID
x-oapi-codegen-extra-tags:
json: server_id,omitempty
db: server_id
maxLength: 500
format: uuid
server_version:
type: string
description: Meshery server version
x-oapi-codegen-extra-tags:
json: server_version,omitempty
db: server_version
maxLength: 500
server_location:
type: string
description: Server location URL
x-oapi-codegen-extra-tags:
json: server_location,omitempty
db: server_location
maxLength: 500
server_build_sha:
type: string
description: Server build SHA
x-go-name: ServerBuildSHA
x-oapi-codegen-extra-tags:
json: server_build_sha,omitempty
db: server_build_sha
maxLength: 500
created_at:
type: string
description: Creation timestamp
x-oapi-codegen-extra-tags:
json: created_at,omitempty
db: created_at
format: date-time
updated_at:
type: string
description: Last update timestamp
x-oapi-codegen-extra-tags:
json: updated_at,omitempty
db: updated_at
format: date-time
deleted_at:
type: string
description: Deletion timestamp
x-oapi-codegen-extra-tags:
json: deleted_at,omitempty
db: deleted_at
format: date-time
Connection_API_MesheryInstancePage:
type: object
description: Paginated list of Meshery instances
properties:
mesheryInstances:
type: array
description: List of Meshery instances
items:
type: object
description: Meshery server instance information
properties:
id:
type: string
description: Instance ID
x-oapi-codegen-extra-tags:
json: id,omitempty
db: id
maxLength: 500
format: uuid
name:
type: string
description: Instance name
x-oapi-codegen-extra-tags:
json: name,omitempty
db: name
minLength: 1
maxLength: 255
server_id:
type: string
description: Server ID
x-go-name: ServerID
x-oapi-codegen-extra-tags:
json: server_id,omitempty
db: server_id
maxLength: 500
format: uuid
server_version:
type: string
description: Meshery server version
x-oapi-codegen-extra-tags:
json: server_version,omitempty
db: server_version
maxLength: 500
server_location:
type: string
description: Server location URL
x-oapi-codegen-extra-tags:
json: server_location,omitempty
db: server_location
maxLength: 500
server_build_sha:
type: string
description: Server build SHA
x-go-name: ServerBuildSHA
x-oapi-codegen-extra-tags:
json: server_build_sha,omitempty
db: server_build_sha
maxLength: 500
created_at:
type: string
description: Creation timestamp
x-oapi-codegen-extra-tags:
json: created_at,omitempty
db: created_at
format: date-time
updated_at:
type: string
description: Last update timestamp
x-oapi-codegen-extra-tags:
json: updated_at,omitempty
db: updated_at
format: date-time
deleted_at:
type: string
description: Deletion timestamp
x-oapi-codegen-extra-tags:
json: deleted_at,omitempty
db: deleted_at
format: date-time
x-oapi-codegen-extra-tags:
json: mesheryInstances
page:
type: integer
description: Current page number
x-oapi-codegen-extra-tags:
json: page
minimum: 0
page_size:
type: integer
description: Number of items per page
x-oapi-codegen-extra-tags:
json: page_size
minimum: 1
total_count:
type: integer
description: Total number of instances
x-oapi-codegen-extra-tags:
json: total_count
minimum: 0
required:
- mesheryInstances
- page
- page_size
- total_count
Connection_API_MesheryCompatibility:
type: object
description: Meshery version compatibility check
properties:
mesheryVersion:
type: string
description: Meshery version string
x-oapi-codegen-extra-tags:
json: mesheryVersion,omitempty
maxLength: 500
checkCompatibility:
type: boolean
description: Whether to check compatibility
x-oapi-codegen-extra-tags:
json: checkCompatibility,omitempty
Design_DeletePatternModel:
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
Design_PatternFile:
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be manually
set by a user or third-party system, but will always be required to be of version number higher than the
previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another component,
resolvedAlias are aware of there immediate parents and completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models. Learn more
at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are not
allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or
manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated
Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment remains
active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities or
as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral shape
(i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node
parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element
with a higher z-index will be drawn on top of an element with a lower z-index. Note that
edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with
the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral shape
(i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that position in
the given dimensions. If the position is not set, the node is drawn at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will label with
the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: The colour of the node's body text. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for values from 0
to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundOffsetX:
type: string
description: The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: How the background image is clipped to the node. Can be 'none', 'node', or 'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: The colour of the node's border. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element drawn at an
offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs to be
*core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when initOptions.textureOnViewport ===
true. Selector needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing
alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points in
the polygon for the node's shape. The bounding box of the node is given by (-1, -1), (1,
-1), (1, 1), (-1, 1). The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field explicitly
identifies those capabilities largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for full
lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly
identifies those capabilities largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad
array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability
for a component to be dragged and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType
together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect metrics, and
present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the canonical
reference and that is duplicated by other components should not be assigned the 'duplicate'
status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether the
component should be treated as deployable entity or is for purposes of logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry. When the
same 'published' property in Models, is set to 'false', the Model property takes precedence
with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details, visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined within the
component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined within the
component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this payload is
treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: 'Version of the component produced by the registrant. Example: APIVersion of a Kubernetes Pod.'
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A
Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery. The
combination of relationship properties kind, type, and subtype characterize various genealogical
relations among and between components. Relationships have selectors, selector sets, metadata, and
optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and SubType
together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field explicitly
identifies those capabilities largely by what actions a given component supports; e.g.
metric-scrape, sub-interface, and so on. This field is extensible. Entities may define a broad
array of capabilities, which are in-turn dynamically interpretted by Meshery for full lifecycle
management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a components
configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the ability
for a component to be dragged and dropped. Example: supports event bubbling to parent
components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and SubType
together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: Metadata contains additional information associated with the capability. Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and
entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node
parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element
with a higher z-index will be drawn on top of an element with a lower z-index. Note that
edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with
the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack
(very fast, bundled straight edges for which loops and compounds are unsupported),
straight (straight edges with all arrows supported), bezier (bundled curved edges),
unbundled-bezier (curved edges for use with manual control points), segments (a series of
straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack
edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like
triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or
may not be visible, depending on the shape of the node and the relative size of the node
and edge. Caps other than butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity
for the edge label versus the edge line. Note that the opacity value of the edge element
affects the effective opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will label
with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will label
with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software being
managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation
Notice: In the future, this property is either to be removed or to it is to be an array of
optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors that
share a common functionality. This structure allows for flexibility in defining relationships,
even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is applied to
all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of
actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied *
meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes
objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]].
The value [config, url] will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of
actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied *
meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes
objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]].
The value [config, url] will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: Optional selectors used to define relationships which should not be created / is restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set of
actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied *
meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes
objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]].
The value [config, url] will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set of
actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied *
meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes
objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]].
The value [config, url] will be patched at [configPatch, value]. Similarly
[config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
Design_MesheryPattern:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the origin and
expected support level for each piece of content. It is important to note that the level of support may
vary within each class, and you should exercise discretion when using community-contributed content.
Content produced and fully supported by Meshery maintainers. This represents the highest level of
support and is considered the most reliable. Content produced by partners and verified by Meshery
maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure
quality and compatibility. Content produced and supported by the respective project or organization
responsible for the specific technology. This class offers a level of support from the project
maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of
content, such as performance profiles, test results, filters, patterns, and applications. Community
content may have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level of
support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly maintained by
Meshery, it has undergone a verification process to ensure quality and compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Reference architecture
content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models
implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be
manually set by a user or third-party system, but will always be required to be of version number higher
than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another component,
resolvedAlias are aware of there immediate parents and completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models. Learn
more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are not
allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery or
manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack,
github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their associated
Credentials. Learn more at https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment
remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view
a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example:
the ability for a component to be dragged and dropped. Example: supports
event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type
and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable entities
or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which model
version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width and
height, and so you may have to adjust width and height if you desire an equilateral
shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that position
in the given dimensions. If the position is not set, the node is drawn at a random
position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will label
with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name (e.g.
red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: The colour of the node's body. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for values
from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels (e.g.
10px)
maxLength: 50
backgroundFit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: How the background image's width is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: How the background image's height is determined. Can be 'none', 'inner', or 'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element drawn at
an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs to
be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when initOptions.textureOnViewport
=== true. Selector needs to be *core*. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing
alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the points
in the polygon for the node's shape. The bounding box of the node is given by (-1,
-1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. ComponentDefinitions
may define a broad array of capabilities, which are in-turn dynamically interpretted by
Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect metrics,
and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether the
component should be treated as deployable entity or is for purposes of logical
representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry. When
the same 'published' property in Models, is set to 'false', the Model property takes
precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined within
the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this payload is
treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a Kubernetes
Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A
Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery. The
combination of relationship properties kind, type, and subtype characterize various genealogical
relations among and between components. Relationships have selectors, selector sets, metadata, and
optional parameters. Learn more at https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and SubType
together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component supports;
e.g. metric-scrape, sub-interface, and so on. This field is extensible. Entities may define
a broad array of capabilities, which are in-turn dynamically interpretted by Meshery for
full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change the
configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event bubbling
to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and
entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound
node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower z-index.
Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label
with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier (bundled
curved edges), unbundled-bezier (curved edges for use with manual control points),
segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also
note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may
or may not be visible, depending on the shape of the node and the relative size of the
node and edge. Caps other than butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of the
edge element affects the effective opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g. red),
hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship. Deprecation
Notice: In the future, this property is either to be removed or to it is to be an array of
optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors
that share a common functionality. This structure allows for flexibility in defining
relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is applied
to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a set
of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an implied
* meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to
the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a
standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the
patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified
value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef:
[[config, url], [config, name]], mutatedRef: [[configPatch, value],
[name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
Design_MesheryPatternPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
patterns:
type: array
items:
x-go-type: MesheryPattern
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers. This
represents the highest level of support and is considered the most reliable. Content produced by
partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has
undergone a verification process to ensure quality and compatibility. Content produced and
supported by the respective project or organization responsible for the specific technology. This
class offers a level of support from the project maintainers themselves. Content produced and
shared by Meshery users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels of support
and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level
of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models
implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May
be manually set by a user or third-party system, but will always be required to be of version
number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models.
Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e.
design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are
not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field
is extensible. Entities may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is drawn
at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may
be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box of
the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is
the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
ComponentDefinitions may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned
the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes of
logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry.
When the same 'published' property in Models, is set to 'false', the Model property
takes precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example:
A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery.
The combination of relationship properties kind, type, and subtype characterize various
genealogical relations among and between components. Relationships have selectors, selector
sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier
(bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled
lines, hierarchically bundled). Note that haystack edges work best with ellipse,
rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are unsupported for
haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The
cap may or may not be visible, depending on the shape of the node and the
relative size of the node and edge. Caps other than butt extend beyond the
specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of
the edge element affects the effective opacity of its line and label
subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is to
be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility in
defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is
applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the mesherypatternpage.
resultType:
type: string
description: The result type of the mesherypatternpage.
maxLength: 500
total_count:
type: integer
description: Total number of items available.
minimum: 0
Design_MesheryPatternDeleteRequestBody:
type: object
properties:
patterns:
type: array
items:
x-go-type: DeletePatternModel
type: object
properties:
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the mesherypatterndeleterequestbody.
Design_MesheryPatternRequestBody:
type: object
properties:
path:
type: string
x-go-type-skip-optional-pointer: true
patternData:
x-go-type: MesheryPattern
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the origin
and expected support level for each piece of content. It is important to note that the level of
support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers. This
represents the highest level of support and is considered the most reliable. Content produced by
partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has
undergone a verification process to ensure quality and compatibility. Content produced and supported
by the respective project or organization responsible for the specific technology. This class offers
a level of support from the project maintainers themselves. Content produced and shared by Meshery
users. This includes a wide range of content, such as performance profiles, test results, filters,
patterns, and applications. Community content may have varying levels of support and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level
of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly maintained
by Meshery, it has undergone a verification process to ensure quality and compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Reference architecture
content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models
implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May be
manually set by a user or third-party system, but will always be required to be of version number
higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another component,
resolvedAlias are aware of there immediate parents and completely resolved parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models.
Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e.
design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are
not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned
the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through discovery
or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack,
github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the environment
remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field is
extensible. Entities may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to
change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped. Example:
supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width
and height, and so you may have to adjust width and height if you desire an
equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified width
and height, and so you may have to adjust width and height if you desire an
equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is drawn at
a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: How the background image is fit to the node. Can be 'none', 'contain', or 'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element drawn
at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector needs
to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may
be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: The opacity of the area outside the viewport texture. Selector needs to be *core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1], representing
alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This represents the
points in the polygon for the node's shape. The bounding box of the node is given
by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
ComponentDefinitions may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned the
'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies whether
the component should be treated as deployable entity or is for purposes of logical
representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry.
When the same 'published' property in Models, is set to 'false', the Model property
takes precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit: https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/
.
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this payload
is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example: A
Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery.
The combination of relationship properties kind, type, and subtype characterize various
genealogical relations among and between components. Relationships have selectors, selector
sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate log
streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery
and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red), hex
(e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an
element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier (bundled
curved edges), unbundled-bezier (curved edges for use with manual control points),
segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar
nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing.
Also note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap
may or may not be visible, depending on the shape of the node and the relative
size of the node and edge. Caps other than butt extend beyond the specified
endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of
the edge element affects the effective opacity of its line and label
subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the software
being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is to be
an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of selectors
that share a common functionality. This structure allows for flexibility in defining
relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is
applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain
to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using
a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from
the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain
to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using
a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from
the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain
to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using
a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from
the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property
to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain
to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using
a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from
the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be
patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
save:
type: boolean
description: The save of the mesherypatternrequestbody.
url:
description: endpoint
format: uri
pattern: ^https?://
x-go-type-skip-optional-pointer: true
type: string
name:
type: string
description: Name of the mesherypatternrequestbody.
minLength: 1
maxLength: 255
Design_MesheryPatternImportRequestBody:
type: object
description: >-
Choose the method you prefer to upload your design file. Select 'File Upload' if you have the file on your
local system, or 'URL Import' if you have the file hosted online.
enum:
- file
- url
properties:
file:
type: string
format: file
description: >-
Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import
Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
fileName:
type: string
description: The name of the pattern file being imported.
maxLength: 500
name:
type: string
default: Untitled Design
description: >-
Provide a name for your design file. This name will help you identify the file more easily. You can also
change the name of your design after importing it.
minLength: 1
maxLength: 255
url:
type: string
format: uri
description: >-
Provide the URL of the file you want to import. This should be a direct URL to a single file, for example:
https://raw.github.com/your-design-file.yaml. Also, ensure that design is in a supported format: Kubernetes
Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs
Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui)
for details
Design_DesignPreferences:
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
Design_CatalogContentItem:
type: object
additionalProperties: true
Design_CatalogContentPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
patterns:
type: array
items:
type: object
properties:
catalogData:
x-go-type: catalogv1alpha2.CatalogData
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha2/catalog
name: catalogv1alpha2
type: object
additionalProperties: false
properties:
publishedVersion:
description: Tracks the specific content version that has been made available in the Catalog.
type: string
maxLength: 500
class:
description: >-
Published content is classifed by its support level. Content classes help you understand the
origin and expected support level for each piece of content. It is important to note that the
level of support may vary within each class, and you should exercise discretion when using
community-contributed content. Content produced and fully supported by Meshery maintainers. This
represents the highest level of support and is considered the most reliable. Content produced by
partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has
undergone a verification process to ensure quality and compatibility. Content produced and
supported by the respective project or organization responsible for the specific technology. This
class offers a level of support from the project maintainers themselves. Content produced and
shared by Meshery users. This includes a wide range of content, such as performance profiles, test
results, filters, patterns, and applications. Community content may have varying levels of support
and reliability.
type: string
oneOf:
- const: official
description: >-
Content produced and fully supported by Meshery maintainers. This represents the highest level
of support and is considered the most reliable.
- const: verified
description: >-
Content produced by partners and verified by Meshery maintainers. While not directly
maintained by Meshery, it has undergone a verification process to ensure quality and
compatibility.
- const: reference architecture
description: >-
Content produced and shared by Meshery users. This includes a wide range of content, such as
performance profiles, test results, filters, patterns, and applications. Reference
architecture content may have varying levels of support and reliability.
maxLength: 500
compatibility:
type: array
title: Model
items:
enum:
- kubernetes
type: string
uniqueItems: true
minItems: 1
description: >-
One or more models associated with this catalog item. For designs, a list of one or more models
implicated by components within the design. For models, this is self-referential.
patternCaveats:
type: string
title: Caveats and Considerations
description: Specific stipulations to consider and known behaviors to be aware of when using this design.
maxLength: 500
patternInfo:
type: string
title: Description
minLength: 1
description: Purpose of the design along with its intended and unintended uses.
type:
type: string
title: Type
x-enum-casing-exempt: true
enum:
- Deployment
- Observability
- Resiliency
- Scaling
- Security
- Traffic-management
- Troubleshooting
- Workloads
default: Deployment
description: Categorization of the type of design or operational flow depicted in this design.
snapshotURL:
type: array
items:
type: string
format: uri
pattern: ^(https?|http?|oci)://
description: Contains reference to the dark and light mode snapshots of the design.
required:
- compatibility
- patternCaveats
- patternInfo
- type
created_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
location:
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
name:
type: string
x-go-type-skip-optional-pointer: true
patternFile:
x-go-type: PatternFile
$schema: http://json-schema.org/draft-07/schema#
title: Design Schema
description: >-
Designs are your primary tool for collaborative authorship of your infrastructure, workflow, and
processes.
type: object
additionalProperties: false
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: Name of the design; a descriptive, but concise title for the design document.
x-order: 2
minLength: 1
maxLength: 255
schemaVersion:
description: Specifies the version of the schema to which the design conforms.
x-order: 3
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
default: v0.0.1
x-order: 4
description: >-
Revision of the design as expressed by an auto-incremented, SemVer-compliant version number. May
be manually set by a user or third-party system, but will always be required to be of version
number higher than the previously defined version number.
minLength: 1
maxLength: 50
type: string
pattern: ^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
metadata:
type: object
x-order: 5
additionalProperties: true
properties:
resolvedAliases:
description: Map of resolved aliases present in the design
type: object
x-go-type: map[string]core.ResolvedAlias
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
additionalProperties:
description: >-
An resolved alias is an component that acts as an ref/pointer to a field in another
component, resolvedAlias are aware of there immediate parents and completely resolved
parents also
allOf:
- description: >-
An alias is an component that acts as an ref/pointer to a field in another component,
nonResolvedAlias are not aware of there immediate parents
type: object
properties:
relationshipId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
aliasComponentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
immediateRefFieldPath:
type: array
items:
type: string
description: The immediate ref field path of the nonresolvedalias.
required:
- relationshipId
- aliasComponentId
- immediateParentId
- immediateRefFieldPath
- type: object
properties:
resolvedParentId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
resolvedRefFieldPath:
type: array
description: Fully resolved field path targeted by the alias.
items:
type: string
required:
- resolvedParentId
- resolvedRefFieldPath
description: Additional metadata associated with this resource.
components:
description: A list of one or more component declarations.
minItems: 0
x-order: 6
type: array
x-go-type: '[]*component.ComponentDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/component
name: component
items:
allOf:
- $id: https://schemas.meshery.io/component.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Components are reusable building blocks for depicting capabilities defined within models.
Learn more at https://docs.meshery.io/concepts/components
additionalProperties: false
type: object
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
x-order: 2
description: Specifies the version of the schema to which the component definition conforms.
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: components.meshery.io/v1beta2
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
x-order: 3
description: Version of the component definition.
minLength: 1
maxLength: 50
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
x-order: 4
description: Name of the component in human-readable format.
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
x-order: 5
type: string
description: A written representation of the purpose and characteristics of the component.
x-oapi-codegen-extra-tags:
yaml: description
json: description
maxLength: 5000
format:
x-order: 6
type: string
enum:
- JSON
- CUE
default: JSON
description: Format specifies the format used in the `component.schema` field. JSON is the default.
x-oapi-codegen-extra-tags:
yaml: format
json: format
model:
x-go-type: '*modelv1beta1.ModelDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 7
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: foreignKey:ModelId;references:ID
json: model
yaml: model
$id: https://schemas.meshery.io/model.yaml
$schema: http://json-schema.org/draft-07/schema#
additionalProperties: false
type: object
properties:
id:
description: >-
Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e.
design).
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
default: models.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the model definition.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: version
json: version
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
name:
type: string
description: The unique name for the model within the scope of a registrant.
helperText: Model name should be in lowercase with hyphens, not whitespaces.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
x-order: 4
x-oapi-codegen-extra-tags:
yaml: name
json: name
default: untitled-model
displayName:
description: Human-readable name for the model.
helperText: >-
Model display name may include letters, numbers, and spaces. Special characters are
not allowed.
minLength: 1
maxLength: 100
type: string
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
x-order: 5
x-oapi-codegen-extra-tags:
yaml: displayName
json: displayName
default: Untitled Model
description:
type: string
default: A new Meshery model.
description: Description of the model.
minLength: 1
maxLength: 1000
x-order: 6
x-oapi-codegen-extra-tags:
yaml: description,omitempty
json: description,omitempty
status:
type: string
description: >-
Status of model, including:
- duplicate: this component is a duplicate of another. The component that is to be
the canonical reference and that is duplicated by other components should not be
assigned the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
enum:
- ignored
- enabled
- duplicate
x-order: 7
x-oapi-codegen-extra-tags:
yaml: status
json: status
default: enabled
registrant:
x-oapi-codegen-extra-tags:
yaml: registrant
json: registrant
gorm: foreignKey:RegistrantId;references:ID
x-order: 8
x-go-type: connectionv1beta1.Connection
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/connection
name: connectionv1beta1
$id: https://schemas.meshery.io/connection.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery Connections are managed and unmanaged resources that either through
discovery or manual entry are tracked by Meshery. Learn more at
https://docs.meshery.io/concepts/logical/connections
additionalProperties: false
type: object
required:
- id
- schemaVersion
- name
- type
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 2
type: string
description: Connection Name
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
yaml: credentialId
x-order: 3
description: Associated Credential ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
type:
x-oapi-codegen-extra-tags:
db: type
yaml: type
x-order: 4
type: string
description: Connection Type (platform, telemetry, collaboration)
subType:
x-oapi-codegen-extra-tags:
db: sub_type
yaml: subType
x-order: 5
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
kind:
x-oapi-codegen-extra-tags:
db: kind
yaml: kind
x-order: 6
type: string
description: >-
Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure,
slack, github)
metadata:
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 7
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
type: object
description: Additional connection metadata
status:
x-oapi-codegen-extra-tags:
db: status
yaml: status
x-order: 8
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
user_id:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
yaml: user_id
x-order: 9
description: User ID who owns this connection
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-order: 11
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-order: 12
description: SQL null Timestamp to handle null values of time.
x-go-type: meshcore.NullTime
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
environments:
type: array
description: Associated environments for this connection
items:
x-go-type: '*environmentv1beta1.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/environment
name: environmentv1beta1
$id: https://schemas.meshery.io/environment.yaml
$schema: http://json-schema.org/draft-07/schema#
title: Environment
description: >-
Environments allow you to logically group related Connections and their
associated Credentials. Learn more at
https://docs.meshery.io/concepts/logical/environments
additionalProperties: false
type: object
example:
id: 00000000-0000-0000-0000-000000000000
schemaVersion: environments.meshery.io/v1beta1
name: Production Environment
description: Connections and credentials for the production cluster.
organization_id: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
created_at: '0001-01-01T00:00:00Z'
metadata: {}
updated_at: '0001-01-01T00:00:00Z'
deleted_at: null
required:
- id
- schemaVersion
- name
- description
- organization_id
properties:
id:
description: ID
x-order: 1
x-go-name: ID
x-oapi-codegen-extra-tags:
db: id
yaml: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
name:
x-oapi-codegen-extra-tags:
db: name
yaml: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
yaml: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organization_id:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
yaml: organization_id
x-order: 5
description: Environment organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner:
x-oapi-codegen-extra-tags:
db: owner
yaml: owner
x-order: 6
description: Environment owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
created_at:
x-order: 7
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
yaml: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updated_at:
x-order: 9
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
deleted_at:
description: >-
Timestamp when the environment was soft deleted. Null while the
environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
x-go-type-import:
name: meshcore
path: github.com/meshery/schemas/models/core
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
yaml: environments
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 13
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 14
x-oapi-codegen-extra-tags:
yaml: schemaVersion
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta1
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
registrantId:
description: ID of the registrant.
x-oapi-codegen-extra-tags:
yaml: connection_id
json: connection_id
gorm: column:connection_id
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
categoryId:
description: ID of the category.
x-oapi-codegen-extra-tags:
yaml: '-'
json: '-'
gorm: categoryID
x-order: 8
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
category:
x-order: 9
x-oapi-codegen-extra-tags:
yaml: category
json: category
gorm: foreignKey:CategoryId;references:ID
x-go-type: categoryv1beta1.CategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/category
name: categoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: object
additionalProperties: false
description: Category of the model.
required:
- id
- name
- metadata
properties:
id:
x-order: 1
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery.
The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: name
json: name
gorm: name
default: Uncategorized
description: The category of the model that determines the main grouping.
enum:
- Analytics
- App Definition and Development
- Cloud Native Network
- Cloud Native Storage
- Database
- Machine Learning
- Observability and Analysis
- Orchestration & Management
- Platform
- Provisioning
- Runtime
- Security & Compliance
- Serverless
- Tools
- Uncategorized
x-order: 2
metadata:
description: Additional metadata associated with the category.
type: object
x-oapi-codegen-extra-tags:
yaml: metadata,omitempty
json: metadata,omitempty
gorm: type:bytes;serializer:json
x-order: 3
subCategory:
x-order: 10
x-go-type: subcategoryv1beta1.SubCategoryDefinition
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/subcategory
name: subcategoryv1beta1
$id: https://schemas.meshery.io/category.yaml
$schema: http://json-schema.org/draft-07/schema#
type: string
title: SubCategory
description: Sub category of the model determines the secondary grouping.
default: Uncategorized
enum:
- API Gateway
- API Integration
- Application Definition & Image Build
- Automation & Configuration
- Certified Kubernetes - Distribution
- Chaos Engineering
- Cloud Native Storage
- Cloud Provider
- CNI
- Compute
- Container Registry
- Container Runtime
- Container Security
- Container
- Content Delivery Network
- Continuous Integration & Delivery
- Coordination & Service Discovery
- Database
- Flowchart
- Framework
- Installable Platform
- Key Management
- Key Management Service
- Kubernetes
- Logging
- Machine Learning
- Management Governance
- Metrics
- Monitoring
- Networking Content Delivery
- Operating System
- Query
- Remote Procedure Call
- Scheduling & Orchestration
- Secrets Management
- Security Identity & Compliance
- Service Mesh
- Service Proxy
- Source Version Control
- Storage
- Specifications
- Streaming & Messaging
- Tools
- Tracing
- Uncategorized
- Video Conferencing
minLength: 1
maxLength: 100
x-oapi-codegen-extra-tags:
yaml: subCategory
json: subCategory
metadata:
type: object
description: Metadata containing additional information associated with the model.
required:
- svgWhite
- svgColor
properties:
capabilities:
type: array
description: Capabilities associated with the model
items:
x-go-type: capabilityv1alpha1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1alpha1/capability
name: capabilityv1alpha1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This
field explicitly identifies those capabilities largely by what actions a given
component supports; e.g. metric-scrape, sub-interface, and so on. This field
is extensible. Entities may define a broad array of capabilities, which are
in-turn dynamically interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: >-
Specifies the version of the schema to which the capability definition
conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: >-
A written representation of the purpose and characteristics of the
capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example:
initiate log streaming on a Pod. Example: initiate deployment of a
component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability
to change the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to
view a components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities.
Example: the ability for a component to be dragged and dropped.
Example: supports event bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: >-
Classification of capabilities. Used to group capabilities similar in
nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind,
Type and SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: >-
A string starting with an alphanumeric character. Spaces and hyphens
allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability.
Extension point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-order: 1
isAnnotation:
type: boolean
description: >-
Indicates whether the model and its entities should be treated as deployable
entities or as logical representations.
x-oapi-codegen-extra-tags:
yaml: isAnnotation
json: isAnnotation
x-order: 2
default: false
primaryColor:
type: string
description: Primary color associated with the model.
minLength: 1
maxLength: 50
default: '#00b39f'
x-oapi-codegen-extra-tags:
yaml: primaryColor
json: primaryColor
x-order: 3
secondaryColor:
type: string
description: Secondary color associated with the model.
minLength: 1
maxLength: 50
default: '#00D3A9'
x-oapi-codegen-extra-tags:
yaml: secondaryColor
json: secondaryColor
x-order: 4
svgWhite:
type: string
description: SVG representation of the model in white color.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgWhite
json: svgWhite
x-order: 5
default: >-
svgColor:
type: string
description: SVG representation of the model in colored format.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgColor
json: svgColor
x-order: 6
default: >-
svgComplete:
type: string
description: SVG representation of the complete model.
minLength: 1
x-oapi-codegen-extra-tags:
yaml: svgComplete
json: svgComplete
x-order: 7
shape:
x-order: 8
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
json: metadata
yaml: metadata
x-order: 11
additionalProperties: true
model:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-order: 12
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
relationships:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships
yaml: relationships
description: The relationships of the model.
components:
type: array
x-go-type: interface{}
x-oapi-codegen-extra-tags:
gorm: '-'
json: components
yaml: components
description: The components of the model.
componentsCount:
type: integer
description: Number of components associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
json: components_count
yaml: components_count
gorm: '-'
default: 0
minimum: 0
relationshipsCount:
type: integer
description: Number of relationships associated with the model.
x-order: 13
x-oapi-codegen-extra-tags:
gorm: '-'
json: relationships_count
yaml: relationships_count
default: 0
minimum: 0
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- schemaVersion
- displayName
- status
- subCategory
- model
- name
- description
- version
- registrant
- category
- categoryId
- registrantId
- relationshipsCount
- componentsCount
- components
- relationships
modelReference:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-order: 8
description: >-
Reference to the specific registered model to which the component belongs and from which
model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
gorm: '-'
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
gorm: index:idx_component_definition_dbs_model_id,column:model_id
yaml: '-'
json: '-'
styles:
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: styles
json: styles
x-go-type: core.ComponentStyles
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-order: 8
type: object
description: Visualization styles for a component
required:
- shape
- primaryColor
- svgColor
- svgWhite
- svgComplete
allOf:
- type: object
description: Common styles for all entities
additionalProperties: true
required:
- primaryColor
- svgColor
- svgWhite
- svgComplete
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 500
textOpacity:
type: number
description: The opacity of the label text, including its outline.
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
maxLength: 500
fontSize:
type: string
description: The size of the label text.
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
maxLength: 500
textTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
opacity:
type: number
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
animation:
type: object
description: The animation to apply to the element. example ripple,bounce,etc
- type: object
properties:
shape:
type: string
description: >-
The shape of the node's body. Note that each shape fits within the specified
width and height, and so you may have to adjust width and height if you desire
an equilateral shape (i.e. width !== height for several equilateral shapes)
enum:
- ellipse
- triangle
- round-triangle
- rectangle
- round-rectangle
- bottom-round-rectangle
- cut-rectangle
- barrel
- rhomboid
- diamond
- round-diamond
- pentagon
- round-pentagon
- hexagon
- round-hexagon
- concave-hexagon
- heptagon
- round-heptagon
- octagon
- round-octagon
- star
- tag
- round-tag
- vee
- polygon
position:
type: object
additionalProperties: false
required:
- x
- 'y'
description: >-
The position of the node. If the position is set, the node is drawn at that
position in the given dimensions. If the position is not set, the node is drawn
at a random position.
properties:
x:
type: number
description: The x-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
'y':
type: number
description: The y-coordinate of the node.
minimum: -1000000
maximum: 1000000
x-go-type: float64
bodyText:
type: string
description: >-
The text to display for an element's body. Can give a path, e.g. data(id) will
label with the elements id
maxLength: 500
bodyTextWrap:
type: string
description: How to wrap the text in the node. Can be 'none', 'wrap', or 'ellipsis'.
enum:
- none
- wrap
- ellipsis
bodyTextMaxWidth:
type: string
description: The maximum width for wrapping text in the node.
maxLength: 50
bodyTextOpacity:
type: number
description: The opacity of the node's body text, including its outline.
minimum: 0
maximum: 1
bodyTextBackgroundColor:
type: string
description: >-
The colour of the node's body text background. Colours may be specified by name
(e.g. red), hex (e.g.
maxLength: 100
bodyTextFontSize:
type: number
description: The size of the node's body text.
minimum: 0
bodyTextColor:
type: string
description: >-
The colour of the node's body text. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
bodyTextFontWeight:
type: string
description: A CSS font weight to be applied to the node's body text.
maxLength: 50
bodyTextHorizontalAlign:
type: string
description: A CSS horizontal alignment to be applied to the node's body text.
maxLength: 50
bodyTextDecoration:
type: string
description: A CSS text decoration to be applied to the node's body text.
maxLength: 100
bodyTextVerticalAlign:
type: string
description: A CSS vertical alignment to be applied to the node's body text.
maxLength: 50
width:
type: number
description: The width of the node's body or the width of an edge's line.
minimum: 0
height:
type: number
description: The height of the node's body
minimum: 0
backgroundImage:
type: string
format: uri
description: The URL that points to the image to show in the node.
maxLength: 2048
backgroundColor:
type: string
description: >-
The colour of the node's body. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
backgroundBlacken:
type: number
description: >-
Blackens the node's body for values from 0 to 1; whitens the node's body for
values from 0 to -1.
maximum: 1
minimum: -1
backgroundOpacity:
type: number
description: The opacity level of the node's background colour
maximum: 1
minimum: 0
backgroundPositionX:
type: string
description: >-
The x position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundPositionY:
type: string
description: >-
The y position of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetX:
type: string
description: >-
The x offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundOffsetY:
type: string
description: >-
The y offset of the background image, measured in percent (e.g. 50%) or pixels
(e.g. 10px)
maxLength: 50
backgroundFit:
type: string
description: >-
How the background image is fit to the node. Can be 'none', 'contain', or
'cover'.
enum:
- none
- contain
- cover
backgroundClip:
type: string
description: >-
How the background image is clipped to the node. Can be 'none', 'node', or
'node-border'.
enum:
- none
- node
- node-border
backgroundWidthRelativeTo:
type: string
description: >-
How the background image's width is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
backgroundHeightRelativeTo:
type: string
description: >-
How the background image's height is determined. Can be 'none', 'inner', or
'outer'.
enum:
- none
- inner
- outer
borderWidth:
type: number
description: The size of the node's border.
minimum: 0
borderStyle:
type: string
description: The style of the node's border
enum:
- solid
- dotted
- dashed
- double
borderColor:
type: string
description: >-
The colour of the node's border. Colours may be specified by name (e.g. red),
hex (e.g.
maxLength: 100
borderOpacity:
type: number
description: The opacity of the node's border
minimum: 0
maximum: 1
padding:
type: number
description: The amount of padding around all sides of the node.
minimum: 0
textHalign:
type: string
description: The horizontal alignment of a node's label
enum:
- left
- center
- right
textValign:
type: string
description: The vertical alignment of a node's label
enum:
- top
- center
- bottom
ghost:
type: string
description: >-
Whether to use the ghost effect, a semitransparent duplicate of the element
drawn at an offset.
default: 'no'
enum:
- 'yes'
- 'no'
activeBgColor:
type: string
description: >-
The colour of the indicator shown when the background is grabbed by the user.
Selector needs to be *core*. Colours may be specified by name (e.g. red), hex
(e.g.
maxLength: 100
activeBgOpacity:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
activeBgSize:
type: string
description: The opacity of the active background indicator. Selector needs to be *core*.
maxLength: 50
selectionBoxColor:
type: string
description: >-
The background colour of the selection box used for drag selection. Selector
needs to be *core*. Colours may be specified by name (e.g. red), hex (e.g.
maxLength: 100
selectionBoxBorderWidth:
type: number
description: The size of the border on the selection box. Selector needs to be *core*
minimum: 0
selectionBoxOpacity:
type: number
description: The opacity of the selection box. Selector needs to be *core*
minimum: 0
maximum: 1
outsideTextureBgColor:
type: string
description: >-
The colour of the area outside the viewport texture when
initOptions.textureOnViewport === true. Selector needs to be *core*. Colours may
be specified by name (e.g. red), hex (e.g.
maxLength: 100
outsideTextureBgOpacity:
type: number
description: >-
The opacity of the area outside the viewport texture. Selector needs to be
*core*
minimum: 0
maximum: 1
shapePolygonPoints:
type: string
description: >-
An array (or a space-separated string) of numbers ranging on [-1, 1],
representing alternating x and y values (i.e. x1 y1 x2 y2, x3 y3 ...). This
represents the points in the polygon for the node's shape. The bounding box of
the node is given by (-1, -1), (1, -1), (1, 1), (-1, 1). The node's position is
the origin (0, 0 )
maxLength: 2000
menuBackgroundColor:
type: string
description: >-
The colour of the background of the component menu. Colours may be specified by
name (e.g. red), hex (e.g.
maxLength: 100
menuBackgroundOpacity:
type: number
description: The opacity of the background of the component menu.
minimum: 0
maximum: 1
menuForgroundColor:
type: string
description: >-
The colour of the text or icons in the component menu. Colours may be specified
by name (e.g. red), hex (e.g.
maxLength: 100
capabilities:
x-order: 9
type: array
description: >-
Meshery manages components in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
ComponentDefinitions may define a broad array of capabilities, which are in-turn
dynamically interpretted by Meshery for full lifecycle management.
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: capabilities
json: capabilities
default:
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Performance Test
description: >-
Initiate a performance test. Meshery will execute the load generation, collect
metrics, and present the results.
kind: action
type: operator
subType: perf-test
key: ''
entityState:
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Workload Configuration
description: Configure the workload specific setting of a component
kind: mutate
type: configuration
subType: config
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Labels and Annotations Configuration
description: Configure Labels And Annotations for the component
kind: mutate
type: configuration
subType: labels-and-annotations
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Relationships
description: View relationships for the component
kind: view
type: configuration
subType: relationship
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Json Schema
description: 'View Component Definition '
kind: view
type: configuration
subType: definition
key: ''
entityState:
- declaration
- instance
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Styling
description: Configure the visual styles for the component
kind: mutate
type: style
subType: ''
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Change Shape
description: Change the shape of the component
kind: mutate
type: style
subType: shape
key: ''
entityState:
- declaration
status: enabled
metadata: null
- schemaVersion: capability.meshery.io/v1beta1
version: 0.7.0
displayName: Compound Drag And Drop
description: Drag and Drop a component into a parent component in graph view
kind: interaction
type: graph
subType: compoundDnd
key: ''
entityState:
- declaration
status: enabled
metadata: null
status:
x-order: 10
type: string
description: >-
Status of component, including:
- duplicate: this component is a duplicate of another. The component that is to be the
canonical reference and that is duplicated by other components should not be assigned
the 'duplicate' status.
- maintenance: model is unavailable for a period of time.
- enabled: model is available for use for all users of this Meshery Server.
- ignored: model is unavailable for use for all users of this Meshery Server.
default: enabled
enum:
- ignored
- enabled
- duplicate
- resolved
- open
x-oapi-codegen-extra-tags:
yaml: status
json: status
metadata:
x-order: 11
type: object
description: Metadata contains additional information associated with the component.
required:
- genealogy
- isAnnotation
- isNamespaced
- published
- instanceDetails
- configurationUISchema
properties:
genealogy:
x-order: 1
type: string
description: Genealogy represents the various representational states of the component.
maxLength: 1000
isAnnotation:
x-order: 2
type: boolean
description: >-
Identifies whether the component is semantically meaningful or not; identifies
whether the component should be treated as deployable entity or is for purposes of
logical representation.
default: false
isNamespaced:
x-order: 3
type: boolean
description: Identifies whether the component is scoped to namespace or cluster wide.
published:
x-order: 4
type: boolean
description: >-
'published' controls whether the component should be registered in Meshery Registry.
When the same 'published' property in Models, is set to 'false', the Model property
takes precedence with all Entities in the Model not being registered.
instanceDetails:
x-order: 5
type: object
description: InstanceDetails contains information about the instance of the component.
configurationUISchema:
x-order: 6
type: string
description: >-
Defines the UI schema for rendering the component's configuration. For more details,
visit:
https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ .
maxLength: 20000
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
additionalProperties: true
configuration:
x-order: 12
description: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
type: object
$comment: >-
The configuration of the component. The configuration is based on the schema defined
within the component definition(component.schema).
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
component:
x-order: 13
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
x-go-type: Component
description: >-
Data related to the third-party capability that a ComponentDefinition wraps; this
payload is treated as a hermetically sealed, opaque object.
type: object
properties:
version:
type: string
description: >-
Version of the component produced by the registrant. Example: APIVersion of a
Kubernetes Pod.
x-order: 1
maxLength: 500
kind:
type: string
description: >-
The unique identifier (name) assigned by the registrant to this component. Example:
A Kubernetes Pod is of kind 'Pod'.
x-order: 2
maxLength: 255
schema:
type: string
description: JSON schema of the object as defined by the registrant.
x-order: 3
maxLength: 500
required:
- version
- kind
- schema
created_at:
x-order: 14
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 15
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- displayName
- description
- schemaVersion
- format
- version
- configuration
- metadata
- model
- modelReference
- component
preferences:
x-go-type: DesignPreferences
type: object
description: Design-level preferences
x-order: 7
properties:
layers:
type: object
description: Map of available layers, where keys are layer names.
required:
- layers
relationships:
description: List of relationships between components
type: array
x-order: 8
x-go-type: '[]*relationship.RelationshipDefinition'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/relationship
name: relationship
items:
allOf:
- description: >-
Relationships define the nature of interaction between interconnected components in Meshery.
The combination of relationship properties kind, type, and subtype characterize various
genealogical relations among and between components. Relationships have selectors, selector
sets, metadata, and optional parameters. Learn more at
https://docs.meshery.io/concepts/logical/relationships.
type: object
additionalProperties: false
required:
- schemaVersion
- version
- model
- kind
- type
- subType
- id
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-order: 1
x-oapi-codegen-extra-tags:
yaml: id
json: id
schemaVersion:
description: Specifies the version of the schema used for the relationship definition.
x-order: 8
x-oapi-codegen-extra-tags:
yaml: schemaVersion
json: schemaVersion
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Specifies the version of the relationship definition.
x-order: 13
x-oapi-codegen-extra-tags:
yaml: version
json: version
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
kind:
description: >-
Kind of the Relationship. Learn more about relationships -
https://docs.meshery.io/concepts/logical/relationships.
type: string
enum:
- hierarchical
- edge
- sibling
x-order: 4
x-oapi-codegen-extra-tags:
yaml: kind
json: kind
type:
description: Classification of relationships. Used to group relationships similar in nature.
type: string
x-go-name: RelationshipType
x-go-type-skip-optional-pointer: true
x-order: 12
x-oapi-codegen-extra-tags:
yaml: type
json: type
gorm: column:type
maxLength: 255
subType:
description: >-
Most granular unit of relationship classification. The combination of Kind, Type and
SubType together uniquely identify a Relationship.
type: string
x-go-type-skip-optional-pointer: true
x-order: 10
x-oapi-codegen-extra-tags:
yaml: subType
json: subType
maxLength: 255
status:
type: string
description: Status of the relationship.
enum:
- enabled
- ignored
- deleted
- approved
- pending
x-order: 11
x-oapi-codegen-extra-tags:
yaml: status
json: status
capabilities:
type: array
description: Capabilities associated with the relationship.
x-order: 2
items:
x-go-type: capabilityv1beta1.Capability
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/capability
name: capabilityv1beta1
$id: https://schemas.meshery.io/capability.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
Meshery manages entities in accordance with their specific capabilities. This field
explicitly identifies those capabilities largely by what actions a given component
supports; e.g. metric-scrape, sub-interface, and so on. This field is extensible.
Entities may define a broad array of capabilities, which are in-turn dynamically
interpretted by Meshery for full lifecycle management.
additionalProperties: false
type: object
required:
- description
- schemaVersion
- version
- displayName
- kind
- type
- subType
- entityState
- key
- status
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
schemaVersion:
description: Specifies the version of the schema to which the capability definition conforms.
type: string
minLength: 2
maxLength: 100
pattern: ^([a-z][a-z0-9.-]*\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$
example:
- v1
- v1alpha1
- v2beta3
- v1.custom-suffix
- models.meshery.io/v1beta1
- capability.meshery.io/v1alpha1
version:
description: Version of the capability definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
description: Name of the capability in human-readible format.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description:
type: string
description: A written representation of the purpose and characteristics of the capability.
maxLength: 5000
kind:
description: Top-level categorization of the capability
additionalProperties: false
anyOf:
- const: action
description: >-
For capabilities related to executing actions on entities. Example: initiate
log streaming on a Pod. Example: initiate deployment of a component.
- const: mutate
description: >-
For capabilities related to mutating an entity. Example: the ability to change
the configuration of a component.
- const: view
description: >-
For capabilities related to viewing an entity. Example: the ability to view a
components configuration.
- const: interaction
description: >-
Catch all for capabilities related to interaction with entities. Example: the
ability for a component to be dragged and dropped. Example: supports event
bubbling to parent components.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
type:
description: Classification of capabilities. Used to group capabilities similar in nature.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
subType:
description: >-
Most granular unit of capability classification. The combination of Kind, Type and
SubType together uniquely identify a Capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
key:
description: Key that backs the capability.
type: string
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
entityState:
description: State of the entity in which the capability is applicable.
type: array
items:
type: string
enum:
- declaration
- instance
pattern: ^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$
description: A string starting with an alphanumeric character. Spaces and hyphens allowed.
status:
type: string
description: Status of the capability
default: enabled
enum:
- enabled
- disabled
metadata:
type: object
description: >-
Metadata contains additional information associated with the capability. Extension
point.
additionalProperties: true
default:
- description: Configure the visual styles for the component
displayName: Styling
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: ''
type: style
version: 0.7.0
- description: Change the shape of the component
displayName: Change Shape
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: shape
type: style
version: 0.7.0
- description: Drag and Drop a component into a parent component in graph view
displayName: Compound Drag And Drop
entityState:
- declaration
key: ''
kind: interaction
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: compoundDnd
type: graph
version: 0.7.0
- description: Add text to nodes body
displayName: Body Text
entityState:
- declaration
key: ''
kind: mutate
schemaVersion: capability.meshery.io/v1beta1
status: enabled
subType: body-text
type: style
version: 0.7.0
x-oapi-codegen-extra-tags:
yaml: capabilities
json: capabilities,omitempty
gorm: type:bytes;serializer:json
metadata:
x-go-type: RelationshipMetadata
x-order: 5
x-oapi-codegen-extra-tags:
gorm: column:metadata;type:bytes;serializer:json
yaml: metadata
json: metadata,omitempty
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both
Meshery and entities under management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: >-
Complete SVG of the entity used for UI representation, often inclusive of
background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: >-
The color of the element's label. Colours may be specified by name (e.g. red),
hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a
compound node parent affects the effective opacity of its children.See
https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general,
an element with a higher z-index will be drawn on top of an element with a lower
z-index. Note that edges are under nodes despite z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will
label with the elements id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: >-
The animation to use for the edge. Can be like 'marching-ants' , 'blink' ,
'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be
haystack (very fast, bundled straight edges for which loops and compounds are
unsupported), straight (straight edges with all arrows supported), bezier
(bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled
lines, hierarchically bundled). Note that haystack edges work best with ellipse,
rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are unsupported for
haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: >-
The colour of the edge's line. Colours may be specified by name (e.g. red), hex
(e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The
cap may or may not be visible, depending on the shape of the node and the
relative size of the node and edge. Caps other than butt extend beyond the
specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate
opacity for the edge label versus the edge line. Note that the opacity value of
the edge element affects the effective opacity of its line and label
subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: >-
The colour of the edge's source arrow. Colours may be specified by name (e.g.
red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id)
will label with the elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: >-
Indicates whether the relationship should be treated as a logical representation
only
x-oapi-codegen-extra-tags:
json: isAnnotation
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
x-go-type-skip-optional-pointer: true
x-order: 6
description: >-
Model Reference to the specific registered model to which the component belongs and from
which model version, category, and other properties may be referenced. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
yaml: model
json: model
gorm: type:bytes;serializer:json
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The
UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties pertain to the
software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
model_id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID
core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
x-go-name: ModelId
x-order: 7
x-oapi-codegen-extra-tags:
json: '-'
gorm: index:idx_relationship_definition_dbs_model_id,column:model_id
evaluationQuery:
description: >-
Optional. Assigns the policy to be used for the evaluation of the relationship.
Deprecation Notice: In the future, this property is either to be removed or to it is to
be an array of optional policy $refs.
type: string
x-order: 3
x-oapi-codegen-extra-tags:
yaml: evaluationQuery
json: evaluationQuery
maxLength: 500
selectors:
x-go-type: SelectorSet
x-order: 9
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
yaml: selectors,omitempty
json: selectors,omitempty
type: array
description: >-
Selectors are organized as an array, with each item containing a distinct set of
selectors that share a common functionality. This structure allows for flexibility in
defining relationships, even when different components are involved.
items:
x-go-type: SelectorSetItem
type: object
description: >-
Optional selectors used to match Components. Absence of a selector means that it is
applied to all Components.
required:
- allow
properties:
allow:
description: Selectors used to define relationships which are allowed.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: allow
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to
deny:
description: >-
Optional selectors used to define relationships which should not be created / is
restricted.
x-go-type: Selector
x-oapi-codegen-extra-tags:
json: deny,omitempty
type: object
required:
- from
- to
properties:
from:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: from
to:
description: >-
Describes the component(s) which are involved in the relationship along with a
set of actions to perform upon selection match.
type: array
items:
x-go-type: SelectorItem
type: object
description: >-
Optional fields that are a part of the selector. Absence of a field has an
implied * meaning.
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in
Meshery. The UUID core definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
match:
x-go-type: MatchSelector
x-oapi-codegen-extra-tags:
json: match,omitempty
type: object
description: Match configuration for selector
properties:
refs:
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: refs,omitempty
description: The refs of the matchselector.
from:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: from,omitempty
description: The from of the matchselector.
to:
type: array
items:
x-go-type: MatchSelectorItem
type: object
description: Match selector item for binding between nodes
required:
- kind
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. The UUID core definition is used across
different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
json: id
kind:
type: string
x-oapi-codegen-extra-tags:
json: kind
description: Kind of the resource.
maxLength: 255
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will
be patched at [configPatch, value]. Similarly [config,name]
will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to
property to be patched.
x-oapi-codegen-extra-tags:
json: to,omitempty
description: The to of the matchselector.
matchStrategyMatrix:
description: Match strategy matrix for the selector
type: array
items:
type: array
items:
type: string
x-oapi-codegen-extra-tags:
json: matchStrategyMatrix
model:
x-go-type: modelv1beta1.ModelReference
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta1/model
name: modelv1beta1
description: >-
Name of the model implicated by this selector. Learn more at
https://docs.meshery.io/concepts/models
x-oapi-codegen-extra-tags:
json: model,omitempty
type: object
required:
- id
- name
- version
- displayName
- model
- registrant
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities
in Meshery. The UUID core definition is used across different
schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
type: string
description: The unique name for the model within the scope of a registrant.
pattern: ^[a-z0-9-]+$
examples:
- cert-manager
version:
description: Version of the model definition.
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
displayName:
type: string
description: Human-readable name for the model.
minLength: 1
maxLength: 100
pattern: ^[a-zA-Z0-9 ]+$
examples:
- Cert Manager
model:
type: object
description: >-
Registrant-defined data associated with the model. Properties
pertain to the software being managed (e.g. Kubernetes v1.31).
required:
- version
properties:
version:
description: Version of the model as defined by the registrant.
x-oapi-codegen-extra-tags:
json: version
x-order: 1
type: string
minLength: 5
maxLength: 100
pattern: >-
^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$
registrant:
x-go-type: RegistrantReference
x-oapi-codegen-extra-tags:
json: registrant
type: object
required:
- kind
properties:
kind:
type: string
description: Kind of the registrant.
maxLength: 255
patch:
x-go-type: RelationshipDefinitionSelectorsPatch
x-oapi-codegen-extra-tags:
json: patch
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource
using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values
from the patch. If the target location doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of
Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a
specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg:
mutatorRef: [[config, url], [config, name]], mutatedRef:
[[configPatch, value], [name]]. The value [config, url] will be
patched at [configPatch, value]. Similarly [config,name] will be
patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: >-
JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to
be patched.
x-oapi-codegen-extra-tags:
json: to
required:
- id
- name
- schemaVersion
- version
- components
- relationships
updated_at:
type: string
format: date-time
x-go-type-skip-optional-pointer: true
id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
visibility:
type: string
x-go-type-skip-optional-pointer: true
description: The patterns of the catalogcontentpage.
filters:
type: array
items:
type: object
additionalProperties: true
description: The filters of the catalogcontentpage.
modelsCount:
type: array
items:
type: object
additionalProperties: true
description: The models count of the catalogcontentpage.
categoryCount:
type: array
items:
type: object
additionalProperties: true
description: The category count of the catalogcontentpage.
Design_CatalogRequest:
type: object
additionalProperties: true
Design_CatalogRequestsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
catalogRequests:
type: array
items:
type: object
additionalProperties: true
description: The catalog requests of the catalogrequestspage.
Design_CatalogContentClass:
type: object
properties:
class:
type: string
description: The class of the catalogcontentclass.
maxLength: 500
description:
type: string
description: Description of the catalogcontentclass.
maxLength: 5000
additionalProperties: true
Design_MesheryFilter:
type: object
additionalProperties: true
Design_ResourceAccessMapping:
type: object
additionalProperties: true
Design_ResourceAccessActorsResponse:
type: object
properties:
users:
type: array
items:
type: object
additionalProperties: true
description: The users of the resourceaccessactorsresponse.
Events_UpdateEventStatusRequest:
type: object
required:
- status
properties:
status:
type: string
example: completed
description: Current status of the resource.
maxLength: 255
Events_BulkDeleteRequest:
type: object
required:
- ids
properties:
ids:
type: array
items:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: The ids of the bulkdeleterequest.
Events_BulkUpdateStatusRequest:
type: object
required:
- ids
- status
properties:
ids:
type: array
items:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
description: The ids of the bulkupdatestatusrequest.
status:
type: string
example: failed
description: Current status of the resource.
maxLength: 255
Events_EventResult:
type: object
additionalProperties: false
description: EventResult entity schema.
properties:
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-go-name: UserID
x-go-type-skip-optional-pointer: true
system_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: system_id
x-go-name: SystemID
x-go-type-skip-optional-pointer: true
category:
type: string
description: The category of the event.
maxLength: 500
action:
type: string
description: The action of the event.
maxLength: 500
description:
type: string
description: Description of the event.
maxLength: 5000
firstName:
type: string
description: The first name of the event.
maxLength: 500
lastName:
type: string
description: The last name of the event.
maxLength: 500
email:
type: string
format: email
description: email
x-go-type-skip-optional-pointer: true
provider:
type: string
description: One of (x-oapi-codegen-extra-tags-cloud, github, google)
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
required:
- user_id
- category
- action
Events_EventsPage:
type: object
properties:
page:
type: integer
x-go-type-skip-optional-pointer: true
page_size:
type: integer
x-go-type-skip-optional-pointer: true
total_count:
type: integer
x-go-type-skip-optional-pointer: true
data:
type: array
items:
type: object
additionalProperties: false
description: EventResult entity schema.
properties:
user_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: user_id
json: user_id
x-go-name: UserID
x-go-type-skip-optional-pointer: true
system_id:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: system_id
x-go-name: SystemID
x-go-type-skip-optional-pointer: true
category:
type: string
description: The category of the event.
maxLength: 500
action:
type: string
description: The action of the event.
maxLength: 500
description:
type: string
description: Description of the event.
maxLength: 5000
firstName:
type: string
description: The first name of the event.
maxLength: 500
lastName:
type: string
description: The last name of the event.
maxLength: 500
email:
type: string
format: email
description: email
x-go-type-skip-optional-pointer: true
provider:
type: string
description: One of (x-oapi-codegen-extra-tags-cloud, github, google)
x-go-type-skip-optional-pointer: true
created_at:
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
required:
- user_id
- category
- action
description: The data of the eventspage.
Events_EventsAggregate:
type: object
properties:
audit:
type: integer
description: The audit of the eventsaggregate.
minimum: 0
additionalProperties: true
Events_EventSummary:
type: object
additionalProperties: true
Events_EventSummaryPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the eventsummarypage.
Events_EventType:
type: object
properties:
category:
type: string
description: The category of the eventtype.
maxLength: 500
action:
type: string
description: The action of the eventtype.
maxLength: 500
Events_ErrorResponse:
type: object
properties:
error:
type: string
description: The error of the errorresponse.
maxLength: 500
Invitation_Uuid:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used
across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Invitation_InvitationsPage:
type: object
required:
- data
- total
properties:
data:
type: array
items:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and can be
used for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to assign
users when signing up from fqdn or custom domain, a organization can only have one default invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: >-
Name of the invitation, which can be used to identify the invitation, required and cant be empty
string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the
invitation, null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means the
invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation does
not expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the
invitation, null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the invitation
has not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the
invitation does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means the
invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled means
the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled
later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
x-go-type: Invitation
description: List of invitations
x-oapi-codegen-extra-tags:
json: data
total:
type: integer
description: Total number of invitations available
x-oapi-codegen-extra-tags:
json: total
minimum: 0
Invitation_SignupRequest:
type: object
additionalProperties: true
Invitation_SignupRequestsPage:
type: object
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
additionalProperties: true
description: The data of the signuprequestspage.
Invitation_InvitationPayload:
type: object
description: Payload for creating or updating an invitation.
required:
- name
- description
- org_id
- emails
- roles
- teams
- status
properties:
id:
x-go-name: ID
description: Existing invitation ID for updates; omit on create.
x-oapi-codegen-extra-tags:
json: id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: ID of the user who created the invitation.
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: Indicates whether the invitation is a default invitation (open invite).
x-oapi-codegen-extra-tags:
db: is_default
json: is_default,omitempty
name:
type: string
description: Name of the invitation.
minLength: 1
maxLength: 255
description:
type: string
description: Description of the invitation.
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: The emails of the invitation.
org_id:
type: string
description: ID of the organization to which the user is invited.
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
maxLength: 500
format: uuid
expires_at:
type: string
format: date-time
description: Timestamp when the invitation expires, if applicable.
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at,omitempty
quota:
type: integer
description: Quota for the invitation.
minimum: 0
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled means the
invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later.
Invitation_InvitationStatus:
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled means the
invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later.
Invitation_Invitation:
type: object
additionalProperties: false
description: Invitation entity schema.
required:
- id
- owner_id
- name
- description
- org_id
- accepted_by
- emails
- roles
- teams
- status
- created_at
- updated_at
- deleted_at
properties:
id:
x-go-name: ID
description: Unique identifier for the invitation , is also used as the invitation code
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
owner_id:
description: >-
ID of the user who created the invitation, this is used to track who created the invitation and can be used
for auditing purposes
x-oapi-codegen-extra-tags:
db: owner_id
json: owner_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
is_default:
type: boolean
description: >-
Indicates whether the invitation is a default invitation (open invite), which can be used to assign users
when signing up from fqdn or custom domain, a organization can only have one default invitation
x-oapi-codegen-extra-tags:
db: is_default
json: is_default
name:
type: string
description: Name of the invitation, which can be used to identify the invitation, required and cant be empty string,
minLength: 1
maxLength: 255
description:
type: string
description: >-
Description of the invitation, which can be used to provide additional information about the invitation,
null or empty string means the invitation does not have a description
maxLength: 5000
emails:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
pattern: ^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}|@[a-zA-Z0-9.-]+\.[a-z]{2,})$
x-go-type: string
description: >-
Exact email address or the email address pattern for which the invitation is valid , null means the
invitation is valid for all email addresses
description: The emails of the invitation.
org_id:
description: ID of the organization to which the user is invited
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
expires_at:
type: string
format: date-time
description: >-
Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not
expire
x-oapi-codegen-extra-tags:
db: expires_at
json: expires_at
quota:
type: integer
description: >-
Quota for the invitation, which can be used to limit the number of users that can accept the invitation,
null or empty string means the invitation does not have a quota
minimum: 0
accepted_by:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
List of user ids that have already accepted the invitation, null or empty string means the invitation has
not been used yet
x-oapi-codegen-extra-tags:
db: accepted_by
json: accepted_by
roles:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Roles that the user will have when accepting the invitation, null or empty string means the invitation
does not specify any roles
description: The roles of the invitation.
teams:
type: array
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
items:
type: string
description: >-
Teams that the user will be added to when accepting the invitation, null or empty string means the
invitation does not specify any teams
description: The teams of the invitation.
status:
x-go-type: InvitationStatus
type: string
enum:
- enabled
- disabled
description: >-
Status of the invitation, where enabled means the invitation is active and can be used, disabled means the
invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later.
created_at:
type: string
format: date-time
description: Timestamp when the invitation was created
x-oapi-codegen-extra-tags:
db: created_at
json: created_at
updated_at:
type: string
format: date-time
description: Timestamp when the invitation was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updated_at
deleted_at:
type: string
format: date-time
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
description: Timestamp when the invitation was deleted, if applicable
x-oapi-codegen-extra-tags:
db: deleted_at
json: deleted_at
Plan_PlanPage:
type: object
required:
- page
- page_size
- total_count
- plans
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
plans:
type: array
items:
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
x-go-type: Plan
description: The plans of the planpage.
Plan_Plan:
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
Plan_PlanName:
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
Plan_PlanCadence:
type: string
enum:
- none
- monthly
- annually
Plan_PlanUnit:
type: string
enum:
- user
- free
Plan_Currency:
type: string
enum:
- usd
Relationship_MutatorRef:
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value].
Similarly [config,name] will be patched at [name].
Relationship_MutatedRef:
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
Relationship_RelationshipDefinitionSelectorsPatchStrategy:
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC 6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the target location doesn't
exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
Relationship_RelationshipDefinitionSelectorsPatch:
type: object
description: Patch configuration for the selector
x-go-name: RelationshipDefinitionSelectorsPatch
properties:
patchStrategy:
x-oapi-codegen-extra-tags:
json: patchStrategy,omitempty
type: string
description: >
patchStrategy allows you to make specific changes to a resource using a standard JSON Patch format (RFC
6902).
add: Inserts a value into an array or adds a member to an object.
merge: Combines the values of the target location with the values from the patch. If the target location
doesn't exist, it is created.
strategic: specific to Kubernetes and understands the structure of Kubernetes objects.
remove: Removes a value.
copy: Copies a value from one location to another.
move: Moves a value from one location to another.
test: Tests that a value at the target location is equal to a specified value.
enum:
- merge
- strategic
- add
- remove
- copy
- move
- test
mutatorRef:
x-oapi-codegen-extra-tags:
json: mutatorRef,omitempty
type: array
description: JSON ref to value from where patch should be applied.
items:
type: array
items:
type: string
description: >-
The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]],
mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch,
value]. Similarly [config,name] will be patched at [name].
mutatedRef:
x-oapi-codegen-extra-tags:
json: mutatedRef,omitempty
type: array
items:
type: array
items:
type: string
description: JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched.
Relationship_RelationshipDefinitionMetadataStylesTextTransform:
type: string
description: A transformation to apply to the label text
enum:
- none
- uppercase
- lowercase
Relationship_RelationshipDefinitionMetadataStylesLineStyle:
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
Relationship_RelationshipDefinitionMetadataStylesCurveStyle:
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled
straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows
supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points),
segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack
edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as
aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
Relationship_RelationshipDefinitionMetadataStylesLineCap:
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible,
depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend
beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
Relationship_RelationshipDefinitionMetadataStylesArrowShape:
type: string
description: The shape of the edge's arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
Relationship_RelationshipDefinitionMetadataStylesMidTargetArrowShape:
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
Relationship_RelationshipDefinitionMetadataStylesMidTargetArrowFill:
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
Relationship_RelationshipDefinitionMetadataStylesTargetArrowShape:
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
Relationship_RelationshipDefinitionMetadataStylesTargetArrowFill:
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
Relationship_RelationshipMetadata:
type: object
description: Metadata contains additional information associated with the Relationship.
additionalProperties: true
x-go-name: RelationshipMetadata
x-oapi-codegen-extra-tags:
gorm: type:bytes;serializer:json
properties:
description:
description: >-
Characterization of the meaning of the relationship and its relevance to both Meshery and entities under
management.
type: string
x-oapi-codegen-extra-tags:
json: description
maxLength: 5000
styles:
x-go-type: RelationshipDefinitionMetadataStyles
x-oapi-codegen-extra-tags:
json: styles
type: object
description: Visualization styles for a relationship
required:
- primaryColor
- svgColor
- svgWhite
properties:
primaryColor:
type: string
description: Primary color of the component used for UI representation.
x-oapi-codegen-extra-tags:
json: primaryColor
maxLength: 500
secondaryColor:
type: string
description: Secondary color of the entity used for UI representation.
x-oapi-codegen-extra-tags:
json: secondaryColor,omitempty
maxLength: 500
svgWhite:
type: string
description: White SVG of the entity used for UI representation on dark background.
x-oapi-codegen-extra-tags:
json: svgWhite
maxLength: 500
svgColor:
type: string
description: Colored SVG of the entity used for UI representation on light background.
x-oapi-codegen-extra-tags:
json: svgColor
maxLength: 500
svgComplete:
type: string
description: Complete SVG of the entity used for UI representation, often inclusive of background.
x-oapi-codegen-extra-tags:
json: svgComplete,omitempty
maxLength: 500
color:
type: string
description: The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.
x-oapi-codegen-extra-tags:
json: color,omitempty
maxLength: 500
textOpacity:
type: number
format: float
description: The opacity of the label text, including its outline.
x-go-name: TextOpacity
x-oapi-codegen-extra-tags:
json: textOpacity,omitempty
minimum: 0
maximum: 1
fontFamily:
type: string
description: A comma-separated list of font names to use on the label text.
x-go-name: FontFamily
x-oapi-codegen-extra-tags:
json: fontFamily,omitempty
maxLength: 500
fontSize:
type: string
description: The size of the label text.
x-go-name: FontSize
x-oapi-codegen-extra-tags:
json: fontSize,omitempty
maxLength: 500
fontStyle:
type: string
description: A CSS font style to be applied to the label text.
x-go-name: FontStyle
x-oapi-codegen-extra-tags:
json: fontStyle,omitempty
maxLength: 500
fontWeight:
type: string
description: A CSS font weight to be applied to the label text.
x-go-name: FontWeight
x-oapi-codegen-extra-tags:
json: fontWeight,omitempty
maxLength: 500
textTransform:
description: A transformation to apply to the label text
x-go-name: TextTransform
x-oapi-codegen-extra-tags:
json: textTransform,omitempty
type: string
enum:
- none
- uppercase
- lowercase
opacity:
type: number
format: float
description: >-
The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects
the effective opacity of its children.See https://js.cytoscape.org/#style/visibility
x-go-name: Opacity
x-oapi-codegen-extra-tags:
json: opacity,omitempty
minimum: 0
maximum: 1
zIndex:
type: integer
description: >-
An integer value that affects the relative draw order of elements. In general, an element with a higher
z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite
z-index.
x-go-name: ZIndex
x-oapi-codegen-extra-tags:
json: zIndex,omitempty
minimum: 0
label:
type: string
description: >-
The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements
id
x-go-name: Label
x-oapi-codegen-extra-tags:
json: label,omitempty
maxLength: 500
edgeAnimation:
type: string
description: The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .
x-go-name: EdgeAnimation
x-oapi-codegen-extra-tags:
json: edgeAnimation,omitempty
maxLength: 500
curveStyle:
x-go-name: CurveStyle
x-oapi-codegen-extra-tags:
json: curveStyle,omitempty
type: string
description: >-
The curving method used to separate two or more edges between two nodes; may be haystack (very fast,
bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all
arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual
control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically
bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node
shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are
unsupported for haystack edges.
enum:
- haystack
- straight
- bezier
- unbundled-bezier
- segments
- taxi
lineColor:
type: string
description: The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: LineColor
x-oapi-codegen-extra-tags:
json: lineColor,omitempty
maxLength: 500
lineStyle:
x-go-name: LineStyle
x-oapi-codegen-extra-tags:
json: lineStyle,omitempty
type: string
description: The style of the edge's line.
enum:
- solid
- dotted
- dashed
lineCap:
x-go-name: LineCap
x-oapi-codegen-extra-tags:
json: lineCap,omitempty
type: string
description: >-
The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be
visible, depending on the shape of the node and the relative size of the node and edge. Caps other than
butt extend beyond the specified endpoint of the edge.
enum:
- butt
- round
- square
lineOpacity:
type: number
format: float
description: >-
The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge
label versus the edge line. Note that the opacity value of the edge element affects the effective
opacity of its line and label subcomponents.
x-go-name: LineOpacity
x-oapi-codegen-extra-tags:
json: lineOpacity,omitempty
minimum: 0
maximum: 1
targetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: TargetArrowColor
x-oapi-codegen-extra-tags:
json: targetArrowColor,omitempty
maxLength: 500
targetArrowShape:
x-go-name: TargetArrowShape
x-oapi-codegen-extra-tags:
json: targetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
targetArrowFill:
x-go-name: TargetArrowFill
x-oapi-codegen-extra-tags:
json: targetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
midTargetArrowColor:
type: string
description: The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.
x-go-name: MidTargetArrowColor
x-oapi-codegen-extra-tags:
json: midTargetArrowColor,omitempty
maxLength: 500
midTargetArrowShape:
x-go-name: MidTargetArrowShape
x-oapi-codegen-extra-tags:
json: midTargetArrowShape,omitempty
type: string
description: The shape of the edge's source arrow
enum:
- triangle
- triangle-tee
- circle-triangle
- triangle-cross
- triangle-backcurve
- vee
- tee
- square
- circle
- diamond
- chevron
- none
midTargetArrowFill:
x-go-name: MidTargetArrowFill
x-oapi-codegen-extra-tags:
json: midTargetArrowFill,omitempty
type: string
description: The fill state of the edge's source arrow
enum:
- filled
- hollow
arrowScale:
type: number
format: float
description: Scaling for the arrow size.
x-go-name: ArrowScale
x-oapi-codegen-extra-tags:
json: arrowScale,omitempty
minimum: 0
sourceLabel:
type: string
description: >-
The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: SourceLabel
x-oapi-codegen-extra-tags:
json: sourceLabel,omitempty
maxLength: 500
targetLabel:
type: string
description: >-
The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the
elements id
x-go-name: TargetLabel
x-oapi-codegen-extra-tags:
json: targetLabel,omitempty
maxLength: 500
isAnnotation:
type: boolean
description: Indicates whether the relationship should be treated as a logical representation only
x-oapi-codegen-extra-tags:
json: isAnnotation
Subscription_PaymentProcessor:
type: string
enum:
- stripe
- paypal
- braintree
description: Supported payment processors
Subscription_CreateSubscriptionRequest:
type: object
properties:
orgId:
description: Organization ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
planId:
type: string
description: Price ID from the payment processor
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
couponId:
type: string
description: Coupon ID to apply
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
userCount:
type: integer
description: Number of users in the organization
minimum: 0
email:
type: string
format: email
description: Email of the customer
paymentProcessor:
type: string
enum:
- stripe
- paypal
- braintree
description: Supported payment processors
Subscription_UpgradeSubscriptionRequest:
type: object
properties:
oldPlanId:
description: Old Plan id that is being changed
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
newPlanId:
description: New Plan id that is being changed to
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Subscription_CreateSubscriptionResponse:
type: object
properties:
subscriptionId:
type: string
description: ID of the associated subscription.
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
clientSecret:
type: string
description: Client secret returned by the payment processor for the subscription checkout flow.
maxLength: 500
Subscription_UpdateUsersRequest:
type: object
properties:
paymentProcessor:
type: string
enum:
- stripe
- paypal
- braintree
description: Supported payment processors
Subscription_CancelSubscriptionRequest:
type: object
properties:
subscriptionId:
type: string
description: Subscription ID from the payment processor
x-id-format: external
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
paymentProcessor:
type: string
enum:
- stripe
- paypal
- braintree
description: Supported payment processors
Subscription_WebhookEvent:
type: object
description: Payload for webhook events from payment processors
Subscription_SubscriptionPage:
type: object
required:
- page
- page_size
- total_count
- subscriptions
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
page_size:
type: integer
description: Number of items per page.
minimum: 1
total_count:
type: integer
description: Total number of items available.
minimum: 0
subscriptions:
type: array
items:
x-go-type: Subscription
type: object
additionalProperties: false
description: Subscription entity schema.
required:
- id
- org_id
- plan_id
- billing_id
- status
- quantity
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
x-oapi-codegen-extra-tags:
db: org_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta2.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/plan
name: planv1beta2
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
quantity:
description: number of units subscribed (eg number of users)
type: integer
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
start_date:
x-oapi-codegen-extra-tags:
db: start_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
end_date:
x-oapi-codegen-extra-tags:
db: end_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
status:
x-go-type: SubscriptionStatus
x-oapi-codegen-extra-tags:
db: status
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition to 'active'
or 'incomplete_expired'.
incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: >-
The subscription is still technically active but has unpaid invoices and is no longer generating new
invoices.
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
billing_id:
type: string
description: Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe
x-id-format: external
x-oapi-codegen-extra-tags:
db: billing_id
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
description: Subscriptions returned in the current page of results.
Subscription_Subscription:
type: object
additionalProperties: false
description: Subscription entity schema.
required:
- id
- org_id
- plan_id
- billing_id
- status
- quantity
properties:
id:
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
org_id:
x-oapi-codegen-extra-tags:
db: org_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan_id:
x-oapi-codegen-extra-tags:
db: plan_id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
plan:
x-go-type: planv1beta2.Plan
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta2/plan
name: planv1beta2
x-oapi-codegen-extra-tags:
belongs_to: plans
fk_id: PlanId
json: plan,omitempty
type: object
additionalProperties: false
description: Plan entity schema.
required:
- id
- name
- cadence
- unit
- price_per_unit
- minimum_units
- currency
properties:
id:
x-oapi-codegen-extra-tags:
db: id
json: id
csv: id
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition
is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
x-go-type: PlanName
x-oapi-codegen-extra-tags:
db: name
json: name
csv: name
type: string
description: Name of the plan
x-enum-casing-exempt: true
enum:
- Free
- Team Designer
- Team Operator
- Enterprise
cadence:
x-go-type: PlanCadence
x-oapi-codegen-extra-tags:
db: cadence
json: cadence
csv: cadence
type: string
enum:
- none
- monthly
- annually
unit:
x-go-type: PlanUnit
x-oapi-codegen-extra-tags:
db: unit
json: unit
csv: unit
type: string
enum:
- user
- free
minimum_units:
type: integer
description: Minimum number of units required for the plan
x-oapi-codegen-extra-tags:
db: minimum_units
json: minimum_units
csv: minimum_units
minimum: 0
price_per_unit:
type: number
description: Price per unit of the plan
x-oapi-codegen-extra-tags:
db: price_per_unit
json: price_per_unit
csv: price_per_unit
minimum: 0
currency:
x-go-type: Currency
x-oapi-codegen-extra-tags:
db: currency
json: currency
csv: currency
type: string
enum:
- usd
quantity:
description: number of units subscribed (eg number of users)
type: integer
x-oapi-codegen-extra-tags:
db: quantity
minimum: 0
start_date:
x-oapi-codegen-extra-tags:
db: start_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
end_date:
x-oapi-codegen-extra-tags:
db: end_date
type: string
format: date-time
x-go-type-skip-optional-pointer: true
status:
x-go-type: SubscriptionStatus
x-oapi-codegen-extra-tags:
db: status
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition to 'active' or
'incomplete_expired'.
incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: >-
The subscription is still technically active but has unpaid invoices and is no longer generating new
invoices.
created_at:
x-oapi-codegen-extra-tags:
db: created_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updated_at:
x-oapi-codegen-extra-tags:
db: updated_at
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deleted_at:
x-oapi-codegen-extra-tags:
db: deleted_at
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
billing_id:
type: string
description: Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe
x-id-format: external
x-oapi-codegen-extra-tags:
db: billing_id
maxLength: 500
pattern: ^[A-Za-z0-9_\-]+$
Subscription_SubscriptionStatus:
type: string
description: Possible statuses of a Stripe subscription.
enum:
- incomplete
- incomplete_expired
- trialing
- active
- past_due
- canceled
- unpaid
x-enumDescriptions:
incomplete: >-
The subscription has been created, but the initial payment is pending. It may transition to 'active' or
'incomplete_expired'.
incomplete_expired: The subscription was created but never activated due to failed initial payment. It is now expired.
trialing: The subscription is currently in a trial period before the first payment is due.
active: The subscription is active, and billing is functioning normally.
past_due: The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.
canceled: The subscription has been canceled and will no longer generate invoices.
unpaid: The subscription is still technically active but has unpaid invoices and is no longer generating new invoices.
token_UserToken:
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
token_TokenPage:
type: object
description: A paginated list of tokens.
required:
- tokens
- total_count
- page
- page_size
properties:
tokens:
type: array
items:
x-go-type: UserToken
type: object
additionalProperties: false
description: Represents a user-owned API token or OAuth session.
properties:
id:
description: Unique identifier for the token.
x-order: 1
x-oapi-codegen-extra-tags:
db: id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
user_id:
description: UUID of the user who owns the token.
x-order: 2
x-oapi-codegen-extra-tags:
db: user_id
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
provider:
type: string
description: Authentication provider associated with the token.
x-order: 3
x-oapi-codegen-extra-tags:
db: provider
maxLength: 500
access_token:
type: string
description: Access token value.
x-order: 4
x-oapi-codegen-extra-tags:
db: access_token
maxLength: 4096
refresh_token:
type: string
description: Refresh token value when applicable.
x-order: 5
x-oapi-codegen-extra-tags:
db: refresh_token
maxLength: 4096
name:
type: string
description: Human-readable token name.
x-order: 6
x-oapi-codegen-extra-tags:
db: name
minLength: 1
maxLength: 255
purpose:
type: string
description: Purpose for which the token was created.
x-order: 7
x-oapi-codegen-extra-tags:
db: purpose
maxLength: 500
is_oauth:
type: boolean
description: Whether this entry represents an OAuth session.
x-order: 8
x-oapi-codegen-extra-tags:
db: is_oauth
created_at:
x-order: 9
description: Timestamp when the resource was created.
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
x-go-type-skip-optional-pointer: true
updated_at:
x-order: 10
description: Timestamp when the resource was updated.
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
x-go-type-skip-optional-pointer: true
required:
- id
- user_id
- provider
x-order: 1
description: The tokens of the tokenpage.
total_count:
type: integer
description: Total number of tokens across all pages.
x-order: 2
minimum: 0
page:
type: integer
description: Current page number (zero-based).
x-order: 3
minimum: 0
page_size:
type: integer
description: Number of tokens per page.
x-order: 4
minimum: 1
responses:
Badge_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Badge_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Badge_404:
description: Result not found
content:
text/plain:
schema:
type: string
Badge_500:
description: Internal server error
content:
text/plain:
schema:
type: string
credential_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
credential_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
credential_404:
description: Result not found
content:
text/plain:
schema:
type: string
credential_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Environment_200:
description: ok
content:
text/plain:
schema:
type: string
Environment_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Environment_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Environment_404:
description: Result not found
content:
text/plain:
schema:
type: string
Environment_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Evaluation_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Key_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Key_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Key_404:
description: Result not found
content:
text/plain:
schema:
type: string
Key_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Keychain_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Keychain_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Keychain_404:
description: Result not found
content:
text/plain:
schema:
type: string
Keychain_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Model_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Organization_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Organization_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Organization_404:
description: Result not found
content:
text/plain:
schema:
type: string
Organization_500:
description: Internal server error
content:
text/plain:
schema:
type: string
role_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
role_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
role_404:
description: Result not found
content:
text/plain:
schema:
type: string
role_500:
description: Internal server error
content:
text/plain:
schema:
type: string
schedule_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
schedule_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
schedule_404:
description: Result not found
content:
text/plain:
schema:
type: string
schedule_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Team_200:
description: ok
content:
text/plain:
schema:
type: string
Team_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Team_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Team_404:
description: Result not found
content:
text/plain:
schema:
type: string
Team_500:
description: Internal server error
content:
text/plain:
schema:
type: string
User_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
User_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
User_404:
description: Result not found
content:
text/plain:
schema:
type: string
User_500:
description: Internal server error
content:
text/plain:
schema:
type: string
View_200:
description: ok
content:
text/plain:
schema:
type: string
View_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
View_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
View_404:
description: Result not found
content:
text/plain:
schema:
type: string
View_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Workspace_200:
description: ok
content:
text/plain:
schema:
type: string
Workspace_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Workspace_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Workspace_404:
description: Result not found
content:
text/plain:
schema:
type: string
Workspace_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Academy_API_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Academy_API_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Academy_API_404:
description: Result not found
content:
text/plain:
schema:
type: string
Academy_API_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Connection_API_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Connection_API_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Connection_API_404:
description: Result not found
content:
text/plain:
schema:
type: string
Connection_API_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Design_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Design_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Design_404:
description: Result not found
content:
text/plain:
schema:
type: string
Design_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Events_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Events_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Events_404:
description: Result not found
content:
text/plain:
schema:
type: string
Events_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Invitation_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Invitation_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Invitation_404:
description: Result not found
content:
text/plain:
schema:
type: string
Invitation_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Plan_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Plan_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Plan_500:
description: Internal server error
content:
text/plain:
schema:
type: string
Subscription_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
Subscription_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
Subscription_404:
description: Result not found
content:
text/plain:
schema:
type: string
Subscription_500:
description: Internal server error
content:
text/plain:
schema:
type: string
token_400:
description: Invalid request body or request param
content:
text/plain:
schema:
type: string
token_401:
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
token_404:
description: Result not found
content:
text/plain:
schema:
type: string
token_500:
description: Internal server error
content:
text/plain:
schema:
type: string
securitySchemes:
Badge_jwt:
type: http
scheme: bearer
bearerFormat: JWT
credential_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Environment_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Evaluation_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Feature_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Key_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Keychain_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Model_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Organization_jwt:
type: http
scheme: bearer
bearerFormat: JWT
role_jwt:
type: http
scheme: bearer
bearerFormat: JWT
schedule_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Team_jwt:
type: http
scheme: bearer
bearerFormat: JWT
User_jwt:
type: http
scheme: bearer
bearerFormat: JWT
View_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Workspace_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Academy_API_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Connection_API_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Design_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Events_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Invitation_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Plan_jwt:
type: http
scheme: bearer
bearerFormat: JWT
Subscription_jwt:
type: http
scheme: bearer
bearerFormat: JWT
token_jwt:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
credential_id:
name: id
in: path
description: Credential ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
credential_credentialId:
name: credentialId
in: query
description: Credential ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
credential_page:
name: page
in: query
description: Get responses by page
schema:
type: string
credential_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
credential_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
credential_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Environment_environmentId:
name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-type-skip-optional-pointer: true
required: true
Environment_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Environment_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Environment_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Environment_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Environment_orgIdQuery:
name: orgId
in: query
description: User's organization ID
schema:
type: string
required: true
Feature_organization_id:
name: organizationId
in: path
description: The ID of the organization
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Key_orgId:
name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Key_keyId:
name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Key_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Key_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Key_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Key_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Keychain_keyId:
name: keyId
in: path
description: Key ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Keychain_keychainId:
name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Keychain_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Keychain_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Keychain_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Keychain_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Organization_orgId:
name: orgId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
Organization_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Organization_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Organization_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Organization_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Organization_all:
name: all
in: query
description: Get all possible entries
schema:
type: boolean
Organization_teamId:
name: teamId
in: path
required: true
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
role_id:
name: id
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
role_orgId:
name: orgId
in: path
description: Organization ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
role_roleId:
name: roleId
in: path
description: Role ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
role_keychainId:
name: keychainId
in: path
description: Keychain ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
role_page:
name: page
in: query
description: Get responses by page
schema:
type: string
role_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
role_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
role_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
role_all:
name: all
in: query
description: Get all possible entries
schema:
type: boolean
role_selector:
name: selector
in: query
description: Role grouping selector such as provider, organization, or team.
schema:
type: string
role_teamId:
name: teamId
in: query
description: Team ID used when selector is team.
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule_id:
name: id
in: path
description: Schedule ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule_page:
name: page
in: query
description: Get responses by page
schema:
type: string
schedule_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
schedule_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
schedule_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Team_teamId:
name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
Team_orgId:
name: orgId
in: path
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
required: true
Team_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Team_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Team_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Team_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
User_id:
name: id
in: path
required: true
description: User ID
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
User_orgId:
name: orgId
in: path
required: true
description: Organization ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: org_id
json: org_id
x-go-type-name: OrganizationId
x-go-type-skip-optional-pointer: true
User_page:
name: page
in: query
description: Get responses by page
schema:
type: string
User_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
User_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
User_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
User_filter:
name: filter
in: query
description: Get filtered reponses
schema:
type: string
User_teamId:
name: teamId
in: query
required: false
description: Optional team filter when listing organization users
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
View_viewId:
name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
View_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
View_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
View_page:
name: page
in: query
description: Get responses by page
schema:
type: string
View_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
View_orgIdQuery:
name: orgId
in: query
description: Organization ID to scope the request.
schema:
type: string
required: false
Workspace_workspaceId:
name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
Workspace_teamId:
name: teamId
in: path
description: Team ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: team_id
json: team_id
x-go-type-name: TeamId
x-go-type-skip-optional-pointer: true
required: true
Workspace_environmentId:
name: environmentId
in: path
description: Environment ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: environment_id
json: environment_id
x-go-type-name: EnvironmentId
x-go-type-skip-optional-pointer: true
required: true
Workspace_designId:
name: designId
in: path
description: Design ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: design_id
json: design_id
x-go-type-name: DesignId
x-go-type-skip-optional-pointer: true
required: true
Workspace_viewId:
name: viewId
in: path
description: View ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: view_id
json: view_id
x-go-type-name: ViewId
x-go-type-skip-optional-pointer: true
required: true
Workspace_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Workspace_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Workspace_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Workspace_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Workspace_filter:
name: filter
in: query
description: JSON-encoded filter string used for assignment and soft-delete filters.
schema:
type: string
Academy_API_id:
name: id
in: path
required: true
description: The ID of the curricula
schema:
type: string
Connection_API_connectionId:
name: connectionId
in: path
required: true
description: Connection ID
schema:
type: string
format: uuid
Connection_API_connectionKind:
name: connectionKind
in: path
required: true
description: Connection kind (meshery, kubernetes, prometheus, grafana, etc.)
schema:
type: string
Connection_API_environmentId:
name: environmentId
in: path
required: true
description: Environment ID
schema:
type: string
format: uuid
Connection_API_page:
name: page
in: query
description: Page number
required: false
schema:
type: integer
default: 0
Connection_API_pagesize:
name: pagesize
in: query
description: Number of items per page
required: false
schema:
type: integer
default: 10
Connection_API_search:
name: search
in: query
description: Search term
required: false
schema:
type: string
Connection_API_order:
name: order
in: query
description: Sort order
required: false
schema:
type: string
Design_id:
name: id
in: path
description: Design (Pattern) ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
Design_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Design_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Design_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Design_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Events_workspaceId:
name: workspaceId
in: path
description: Workspace ID
schema:
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspace_id
x-go-type-name: WorkspaceId
x-go-type-skip-optional-pointer: true
required: true
Events_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Events_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Events_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
Events_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
Events_cumulative:
name: cumulative
in: query
required: false
schema:
type: boolean
Events_filter:
name: filter
in: query
description: Get filtered reponses
schema:
type: string
Events_eventsFilter:
name: filter
in: query
description: Get filtered reponses
schema:
type: string
Invitation_organization_id:
name: organizationId
in: path
required: true
description: The ID of the organization
schema:
type: string
Invitation_invitation_id:
name: invitationId
in: path
required: true
description: The ID of the invitation
schema:
type: string
Subscription_subscriptionId:
name: subscriptionId
in: path
required: true
description: Subscription ID
schema:
type: string
Subscription_page:
name: page
in: query
description: Get responses by page
schema:
type: string
Subscription_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
Subscription_pagesizeWithAll:
name: pagesize
in: query
description: Get responses by pagesize (pass all to get all responses)
schema:
type: string
Subscription_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
token_id:
name: id
in: path
description: Token ID
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
token_page:
name: page
in: query
description: Get responses by page
schema:
type: string
token_pagesize:
name: pagesize
in: query
description: Get responses by pagesize
schema:
type: string
token_search:
name: search
in: query
description: Get responses that match search param value
schema:
type: string
token_order:
name: order
in: query
description: Get ordered responses
schema:
type: string
token_isOAuth:
name: isOAuth
in: query
description: Whether to retrieve OAuth-backed sessions instead of API tokens.
schema:
type: boolean
token_name:
name: name
in: query
description: Name of the token.
required: true
schema:
type: string
token_purpose:
name: purpose
in: query
description: Purpose for which the token is generated.
schema:
type: string
token_tokenId:
name: tokenId
in: query
description: ID of the token.
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
token_userId:
name: userId
in: query
description: UUID of the user.
required: true
schema:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is
used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
token_provider:
name: provider
in: query
description: Remote provider.
required: true
schema:
type: string
requestBodies:
Environment_environmentPayload:
description: Body for creating environment
required: true
content:
application/json:
schema:
properties:
name:
description: >-
An environment is a collection of resources. Provide a name that meaningfully represents these
resources. You can change the name of the environment even after its creation.
type: string
x-go-type-skip-optional-pointer: true
description:
description: >-
An environment is a collection of resources, such as connections & credentail. Provide a detailed
description to clarify the purpose of this environment and the types of resources it encompasses. You
can modify the description at any Time. Learn more about environments
[here](https://docs.meshery.io/concepts/logical/environments).
type: string
x-go-type-skip-optional-pointer: true
organization_id:
type: string
description: >-
Select an organization in which you want to create this new environment. Keep in mind that the
organization cannot be changed after creation.
x-go-type-skip-optional-pointer: true
x-go-name: OrgId
x-oapi-codegen-extra-tags:
json: organization_id
maxLength: 500
format: uuid
required:
- name
- organization_id
Organization_organizationPayload:
description: Body for creating or updating an organization
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
x-go-type-skip-optional-pointer: true
country:
type: string
x-go-type-skip-optional-pointer: true
region:
type: string
x-go-type-skip-optional-pointer: true
description:
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: The notify org update of the organization.
preferences:
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
required:
- id
- logo
properties:
id:
type: string
description: Theme ID.
maxLength: 500
format: uuid
logo:
x-go-type: Logo
type: object
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
mobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
required:
- svg
- location
properties:
svg:
type: string
description: The svg of the location.
maxLength: 500
location:
type: string
description: The location of the location.
maxLength: 500
vars:
type: object
additionalProperties: true
description: The vars of the theme.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior
additionalProperties: true
Team_teamPayload:
description: Body for creating a team
required: true
content:
application/json:
schema:
type: object
description: Payload for creating a new team
required:
- name
properties:
name:
description: Team name. Provide a meaningful name that represents this team.
type: string
x-go-type-skip-optional-pointer: true
description:
description: A detailed description of the team's purpose and responsibilities.
type: string
x-go-type-skip-optional-pointer: true
Team_teamUpdatePayload:
description: Body for updating a team
required: true
content:
application/json:
schema:
type: object
description: Payload for updating an existing team
properties:
name:
description: Updated team name
type: string
x-go-type-skip-optional-pointer: true
description:
description: Updated team description
type: string
x-go-type-skip-optional-pointer: true
View_viewPayload:
description: Body for creating or updating a view
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating a view.
required:
- name
properties:
name:
type: string
description: Display name of the view.
maxLength: 255
minLength: 1
x-oapi-codegen-extra-tags:
json: name,omitempty
filters:
type: object
description: Filter configuration for this view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: filters,omitempty
visibility:
type: string
description: Visibility level of the view.
maxLength: 255
x-oapi-codegen-extra-tags:
json: visibility,omitempty
metadata:
type: object
description: Metadata associated with the view.
x-go-type: core.Map
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
Workspace_workspacePayload:
description: Body for creating a workspace
required: true
content:
application/json:
schema:
type: object
description: Payload for creating a workspace.
required:
- name
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
Workspace_workspaceUpdatePayload:
description: Body for updating a workspace
required: true
content:
application/json:
schema:
type: object
description: Payload for updating a workspace.
required:
- organization_id
properties:
name:
type: string
description: Name of the workspace.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name,omitempty
description:
type: string
description: Description of the workspace.
maxLength: 5000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: description,omitempty
organization_id:
type: string
description: Organization ID.
maxLength: 36
format: uuid
x-go-type-skip-optional-pointer: true
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
json: organization_id,omitempty
metadata:
type: object
description: Metadata associated with the workspace.
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
Design_catalogContentPayload:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
Design_resourceSharePayload:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true